*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --primary: #3182f6; --primary-dark: #1b64da; --primary-light: #e8f3ff;
  --green: #00c2a0;  --green-light: #e3fbf6;
  --danger: #f04452; --danger-light: #feecee;
  --amber: #ffab00;
  --purple: #7c3aed; --purple-light: #f1ebfe;
  --slate-50: #f9fafb; --slate-100: #f2f4f6; --slate-200: #e5e8eb;
  --slate-300: #d1d6db; --slate-400: #b0b8c1; --slate-500: #8b95a1;
  --slate-600: #6b7684; --slate-700: #4e5968; --slate-800: #333d4b; --slate-900: #191f28;
  --gray-50: #f9fafb; --gray-100: #f2f4f6; --gray-200: #e5e8eb; --gray-300: #d1d6db;
  --gray-400: #8b95a1; --gray-500: #8b95a1; --gray-600: #6b7684; --gray-700: #4e5968; --gray-800: #333d4b;
  --success: #00c2a0; --danger-strong: #d32f3c;
  --radius: 18px; --radius-sm: 10px;
  --shadow-sm: 0 1px 2px rgba(25,31,40,0.04);
  --shadow: 0 2px 8px rgba(25,31,40,0.06);
  --shadow-lg: 0 12px 32px rgba(25,31,40,0.12);
}
html { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
button, input, select, textarea { touch-action: manipulation; }
body { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--slate-100); color: var(--slate-900); min-height: 100vh; -webkit-font-smoothing: antialiased; }

/* ══ 홈 ══ */
.home-screen {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:100vh; padding:32px 20px; gap:0;
  background: var(--slate-100); position:relative;
}.home-logo-wrap { margin-bottom:18px; display:flex; flex-direction:column; align-items:center; gap:2px; }
.home-logo { opacity:.95; }
.home-title { font-size:13px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--slate-500); }
/* 홈: 바로가기·공지사항·정기점검 일정 모두 표 카드(회색 제목칸 + 가는 선) */
.home-table, .home-notice, .home-schedule { width:100%; background:#fff; border:1px solid #e5e8eb; border-radius:12px; overflow:hidden; text-align:left; }
.home-notice-title, .home-schedule-title { display:flex; align-items:center; gap:5px; min-height:34px; padding:6px 14px; background:#f9fafb; border-bottom:1px solid #eef0f3; font-size:12.5px; font-weight:700; color:#6b7684; }
.home-notice-title svg { color:#d97706; }
.home-notice-row { display:grid; grid-template-columns:40px minmax(0,1fr); border-top:1px solid #eef0f3; font-size:13px; }
.home-notice-row:first-child { border-top:none; }
.home-notice-no { display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; color:#d97706; }
.home-notice-text { padding:9px 12px; border-left:1px solid #eef0f3; line-height:1.5; color:var(--slate-700); word-break:keep-all; overflow-wrap:break-word; }
.home-schedule-row { display:grid; grid-template-columns:42px minmax(0,1fr) 52px; border-top:1px solid #eef0f3; font-size:13px; }
.home-schedule-row:first-child { border-top:none; }
.home-schedule-row > span { padding:9px 12px; }
.home-schedule-row > span + span { border-left:1px solid #eef0f3; }
.home-schedule-dday { font-size:11px; font-weight:800; color:var(--primary); text-align:center; }
.home-schedule-site { font-weight:600; color:var(--slate-700); line-height:1.5; word-break:keep-all; overflow-wrap:break-word; }
.home-schedule-row > .home-schedule-dday, .home-schedule-row > .home-schedule-date { display:flex; align-items:center; justify-content:center; }
.home-schedule-date { font-size:11.5px; color:var(--slate-400); white-space:nowrap; }
.home-sch-store { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; vertical-align:middle; }   /* 매장명 + 미제출 오더 수 동그라미(.dash-sch-cnt) */
/* 다가오는 일정 매장 칸: 매장 | 매장 — 줄바꿈돼도 간격이 고르게 */
.home-schedule-row > .home-schedule-site { display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; }
.home-sch-sep { color:#d1d6db; font-weight:400; }
.home-schedule-row > .home-schedule-dday, .home-schedule-row > .home-schedule-date { padding-left:4px; padding-right:4px; }
.home-schedule-more { display:block; width:100%; padding:9px; border:none; border-top:1px solid #eef0f3; background:none; color:var(--slate-400); font-size:11.5px; font-weight:700; cursor:pointer; font-family:inherit; text-align:center; }
.home-schedule-more:hover { color:var(--primary-dark); background:#f9fafb; }
/* 메인 기능 카드 (Maintenance Report) */
.home-hero { width:100%; display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:18px 18px 0; border:none; border-radius:16px; background:linear-gradient(135deg, #3182f6, #1b64da); color:#fff; text-align:left; cursor:pointer; font-family:inherit; box-shadow:0 8px 24px rgba(49,130,246,.28); transition:transform .15s, box-shadow .15s; }
.home-hero:active { transform:scale(.98); box-shadow:0 4px 12px rgba(49,130,246,.2); }
.home-hero-icon { width:42px; height:42px; margin-bottom:12px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,255,255,.18); }
.home-hero-title { font-size:20px; font-weight:800; line-height:1.25; }
.home-hero-sub { font-size:13px; color:rgba(255,255,255,.75); }
.home-hero-foot { align-self:stretch; display:flex; align-items:center; gap:10px; margin-top:16px; padding:12px 0 14px; border-top:1px solid rgba(255,255,255,.22); font-size:13px; }
.home-hero-today { flex:1; min-width:0; display:flex; gap:8px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.home-hero-today b { flex-shrink:0; font-weight:700; color:rgba(255,255,255,.75); }
.home-hero-today span { overflow:hidden; text-overflow:ellipsis; font-weight:700; }
.home-hero-today .home-sch-store { overflow:visible; }
.home-hero-today .dash-sch-cnt { overflow:visible; background:#fff; color:var(--primary); }   /* 파란 카드 위라 흰 동그라미 */
.home-hero-today .dash-sch-cnt.zero { background:rgba(255,255,255,.25); color:rgba(255,255,255,.85); }
.home-hero-today .home-sch-sep { margin:0 8px; color:rgba(255,255,255,.45); font-weight:400; vertical-align:middle; }
.home-hero-go { flex-shrink:0; padding:5px 12px; border-radius:20px; background:#fff; color:var(--primary); font-size:12.5px; font-weight:800; }
.home-version { margin-top:20px; font-size:11px; font-weight:600; color:var(--slate-400); }
.home-cards { display:flex; flex-direction:column; gap:12px; width:100%; max-width:360px; }
.report-btn {
  width:100%; padding:0 14px 0 0; border:none; border-top:1px solid #eef0f3; border-radius:0; cursor:pointer;
  display:flex; align-items:center; text-align:left; background:#fff; font-family:inherit;
  transition:background 0.15s;
}
.home-table > .report-btn:first-child { border-top:none; }
.report-btn:active { background:#f9fafb; }
.btn-icon-block {
  width:36px; height:36px; margin-left:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  border-radius:10px; color:#fff;
}
.report-btn.repair-btn  .btn-icon-block { background:var(--green); }
.report-btn.admin-btn   .btn-icon-block { background:var(--slate-500); }
.btn-body { flex:1; min-width:0; padding:14px 12px; }
.btn-body strong { display:block; font-size:15px; font-weight:700; color:var(--slate-800); line-height:1.25; }
.btn-body span { display:block; font-size:12.5px; color:var(--slate-400); margin-top:3px; font-weight:400; }
.btn-badge { padding:3px 9px; border-radius:20px; font-size:11px; font-weight:700; white-space:nowrap; flex-shrink:0; }
.btn-badge::after { content:'›'; margin-left:6px; }
.report-btn.repair-btn  .btn-badge { background:var(--green-light); color:#00897b; }
.report-btn.admin-btn   .btn-badge { background:var(--slate-100); color:var(--slate-600); }

/* ══ 앱 공통 ══ */
.app-screen { display:none; flex-direction:column; min-height:100vh; }
.app-screen.active { display:flex; }
.app-header { color:#fff; padding:14px 16px; display:flex; align-items:center; gap:12px; position:sticky; top:0; z-index:100; box-shadow:0 1px 8px rgba(25,31,40,0.08); }
.app-header.green { background:var(--green); }
.back-btn { background:rgba(255,255,255,0.18); border:none; color:#fff; width:40px; height:40px; border-radius:var(--radius-sm); cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background 0.15s; }
.back-btn:active { background:rgba(255,255,255,0.3); }
.header-info { flex:1; }
.header-info h1 { font-size:16px; font-weight:700; letter-spacing:-0.01em; }
.header-info p { font-size:11.5px; opacity:0.75; margin-top:1px; }
.server-info-bar { display:flex; flex-direction:column; align-items:stretch; gap:7px; font-size:11px; color:var(--slate-500); background:#fff; border:1px solid var(--slate-200); border-radius:14px; padding:12px 13px; }
.server-info-row { display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.server-info-label { width:auto; text-align:left; font-weight:700; color:var(--slate-600); white-space:nowrap; }
.server-info-track { flex:1; width:auto; height:5px; background:var(--slate-200); border-radius:3px; overflow:hidden; }
.server-info-fill { height:100%; border-radius:3px; }
.progress-wrap { background:var(--slate-200); border-radius:10px; height:4px; margin-top:10px; overflow:hidden; }
.progress-bar { height:100%; background:var(--primary); border-radius:10px; transition:width 0.3s; }

/* ══ Maintenance Report 작업자 화면 — iOS 라지타이틀 헤더 ══ */
.wk-header { position:sticky; top:0; z-index:100; background:rgba(249,250,251,.92); backdrop-filter:blur(10px); padding:14px 16px 12px; border-bottom:1px solid var(--slate-200); }
.wk-header-top { display:flex; align-items:center; gap:10px; }
.wk-back-btn { width:34px; height:34px; border-radius:10px; background:#fff; border:1px solid var(--slate-200); color:var(--slate-600); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; }
.wk-back-btn:active { background:var(--slate-100); }
.wk-title { font-size:24px; font-weight:800; letter-spacing:-0.02em; color:var(--slate-900); }
.wk-logout-btn { margin-left:auto; display:flex; align-items:center; gap:5px; padding:7px 12px; border-radius:10px; background:#fff; border:1px solid var(--slate-200); color:var(--slate-600); font-size:12px; font-weight:700; cursor:pointer; flex-shrink:0; white-space:nowrap; }
.wk-logout-btn:active { background:var(--slate-100); }
.wk-worker-chip { display:flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--slate-200); border-radius:20px; padding:5px 11px 5px 5px; width:fit-content; margin:8px 0 0 2px; }
.wk-worker-avatar { width:20px; height:20px; border-radius:50%; background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; flex-shrink:0; }
.wk-worker-chip span:last-child { font-size:12px; font-weight:700; color:var(--slate-600); }
.wk-header.green .wk-title { color:var(--green); }
.wk-header.green .wk-worker-avatar { background:var(--green-light); color:var(--green); }

#maintenanceScreen .section-card { border-radius:16px; box-shadow:0 1px 2px rgba(25,31,40,.04), 0 8px 20px rgba(25,31,40,.04); }
#maintenanceScreen .s-icon { width:26px; height:26px; border-radius:7px; background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }

/* ══ 폼 ══ */
.form-content { flex:1; padding:16px; display:flex; flex-direction:column; gap:12px; max-width:600px; width:100%; margin:0 auto; }
.section-card { background:#fff; border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden; border:1px solid var(--slate-200); }
.section-header { padding:12px 16px; background:var(--slate-50); border-bottom:1px solid var(--slate-200); display:flex; align-items:center; gap:8px; }
.section-header .s-icon { font-size:17px; }
.section-header h2 { margin:0; font-size:16px; font-weight:700; color:var(--slate-700); flex:1; letter-spacing:-0.01em; }
.section-header .s-badge { font-size:11px; background:var(--slate-200); color:var(--slate-500); border-radius:20px; padding:2px 9px; font-weight:600; }
.section-header .s-badge.ok { background:#d1fae5; color:#065f46; }
/* 라인은 안 보이게 하되, border 두께(1px)는 유지해서 보고서조회 헤더와 높이를 동일하게 맞춤 */
#atab-orders .section-header, #atab-reports .section-header { border-bottom-color:transparent; padding-top:8px; padding-bottom:8px; }
.section-body { padding:14px 16px; display:flex; flex-direction:column; gap:12px; }
.field-group { display:flex; flex-direction:column; gap:5px; position:relative; }
.field-label { font-size:12px; font-weight:600; color:var(--slate-500); text-transform:uppercase; letter-spacing:0.04em; display:flex; align-items:center; gap:6px; }
.field-label .req { color:var(--danger); }
.field-input { border:1.5px solid var(--slate-200); border-radius:var(--radius-sm); padding:12px 13px; font-size:16px; font-family:inherit; color:var(--slate-800); background:#fff; width:100%; outline:none; transition:border-color 0.15s, box-shadow 0.15s; -webkit-appearance:none; }
.field-input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(49,130,246,0.12); }
.field-input::placeholder { color:var(--slate-400); }
.field-input.textarea { min-height:70px; resize:vertical; line-height:1.5; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

/* 자동완성 드롭다운 */
.ac-dropdown { position:fixed; background:#fff; border:1.5px solid #bfdbfe; border-radius:10px; box-shadow:0 8px 28px rgba(37,99,235,0.12); z-index:9999; list-style:none; margin:4px 0 0; padding:4px 0; max-height:260px; overflow-y:auto; display:none; }
.ac-dropdown li { padding:12px 14px; min-height:44px; cursor:pointer; transition:background 0.1s; }
.ac-dropdown li:hover { background:#eff6ff; }
.ac-store { display:block; color:var(--slate-800); font-weight:600; font-size:13px; line-height:1.35; word-break:break-word; }
.ac-meta  { display:block; margin-top:2px; font-size:11px; color:#6b7280; }
.ac-brand { font-weight:700; color:#1d4ed8; }
.ac-code  { color:#9ca3af; }

/* ══ 오더 카드 ══ */
.order-card { border:1.5px solid var(--slate-200); border-radius:var(--radius); overflow:hidden; margin-bottom:10px; transition:border-color 0.2s, box-shadow 0.2s; background:#fff; }
.order-card:last-child { margin-bottom:0; }
/* 긴급·미완료는 빨강 테두리로 구분. 사진 있음(초록)·중복오더(보라)가 더 우선 */
.order-card.is-urgent { border-color:#fca5a5; box-shadow:0 0 0 1px #fee2e2; }
.order-card.is-incomplete, .order-card.is-done.is-incomplete { border-color:#fca5a5; box-shadow:0 0 0 1px #fee2e2; }
.order-card.has-photos { border-color:#6ee7b7; box-shadow:0 0 0 1px #d1fae5; }
.order-card.is-done { border-color:var(--slate-300); opacity:.6; }
.order-card.is-linked { border-color:#a78bfa; box-shadow:0 0 0 1px #ede9fe; }
.link-badge { background:#7c3aed; color:#fff; border-radius:10px; padding:2px 8px; font-size:10px; font-weight:700; flex-shrink:0; white-space:nowrap; max-width:120px; overflow:hidden; text-overflow:ellipsis; }
.order-card-header { display:flex; align-items:center; gap:10px; padding:14px; min-height:52px; cursor:pointer; user-select:none; }
.order-no-badge { background:var(--primary); color:#fff; border-radius:6px; padding:4px 10px; font-size:12px; font-weight:800; flex-shrink:0; letter-spacing:0.02em; }
.order-no-badge.done { background:var(--slate-400); }
.order-no-badge.po   { background:#7c3aed; }
.order-meta { flex:1; min-width:0; }
.order-meta .o-work { font-size:13px; font-weight:700; color:var(--slate-800); word-break:break-word; line-height:1.4; }
.order-meta .o-desc { font-size:12px; color:var(--slate-500); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.photo-chip { font-size:11px; border-radius:20px; padding:3px 9px; font-weight:700; flex-shrink:0; }
.photo-chip.zero { background:var(--slate-100); color:var(--slate-400); }
.photo-chip.has  { background:#d1fae5; color:#065f46; }
.photo-chip.done { background:#e0e7ff; color:#3730a3; }
.photo-chip.incomplete { background:var(--slate-100); color:var(--slate-600); }   /* 미완료는 오더번호 배지만 빨간색, 칩은 회색 */
.order-arrow { font-size:12px; color:var(--slate-500); padding:6px; transition:transform 0.2s; flex-shrink:0; }
.order-arrow.open { transform:rotate(180deg); }
/* 현장 오더 목록 카드 — 윗줄(오더번호·칩) / 구분선 / 제목·정보, 오른쪽 세로선 뒤 화살표 칸 */
.order-card-header.woc-head { align-items:stretch; gap:0; padding:0; }
.woc-main { flex:1; min-width:0; }
.woc-top { display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid var(--slate-200); }
.woc-chips { display:flex; align-items:center; gap:6px; margin-left:auto; flex-wrap:wrap; justify-content:flex-end; }
.woc-head .order-meta { padding:12px 14px 14px; }
.woc-arrow-col { flex:0 0 48px; display:flex; align-items:center; justify-content:center; border-left:1px solid var(--slate-200); }
.order-card-body { display:none; padding:14px; border-top:1px solid var(--slate-200); background:var(--slate-50); }
.order-card-body.open { display:block; }
.order-detail-row { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.od-chip { font-size:11px; background:#fff; border:1px solid var(--slate-200); border-radius:6px; padding:3px 9px; color:var(--slate-600); font-weight:600; }
.order-desc-text { font-size:12px; color:var(--slate-600); background:#fff; border:1px solid var(--slate-200); border-radius:8px; padding:9px 11px; margin-bottom:10px; line-height:1.6; }

/* Before/After */
.ba-wrap { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ba-wrap .ba-col { border-radius:10px; padding:9px; }
.ba-wrap .ba-col:first-child { background:#eff6ff; border:1px solid #dbeafe; }
.ba-wrap .ba-col:last-child  { background:#ecfdf5; border:1px solid #d1fae5; }
.ba-title { font-size:12px; font-weight:800; margin-bottom:8px; display:flex; align-items:center; gap:5px; letter-spacing:0.02em; }
.ba-title.before { color:#2563eb; }
.ba-title.after  { color:#059669; }
.ba-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ba-dot.before { background:#2563eb; }
.ba-dot.after  { background:#059669; }
.ba-sub { font-size:11px; font-weight:500; color:var(--slate-500); }
.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.photo-thumb { border-radius:8px; overflow:hidden; position:relative; display:flex; flex-direction:column; }
.photo-thumb img { width:100%; height:auto; display:block; }
#snPhotoSection .photo-thumb img { aspect-ratio:1/1; object-fit:cover; }   /* 매장MAP 모달 사진은 정사각 */
.photo-del  { position:absolute; top:3px; right:3px; width:22px; height:22px; background:rgba(0,0,0,0.6); color:#fff; border:none; border-radius:50%; cursor:pointer; font-size:12px; display:flex; align-items:center; justify-content:center; }
.photo-thumb .photo-del { position:static; order:-1; width:100%; flex-shrink:0; height:20px; background:#ef4444; border-radius:0; }
.photo-thumb-failed { outline:2px solid #ef4444; outline-offset:-2px; }
.photo-thumb-failed img { opacity:0.4; }
.photo-thumb-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.4); display:flex; align-items:center; justify-content:center; color:#fff; }
.photo-spin { animation:ptr-spin .6s linear infinite; }
.photo-retry { position:absolute; inset:0; background:rgba(220,38,38,0.85); color:#fff; border:none; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font-size:10px; font-weight:700; }
.photo-save { position:static; width:100%; flex-shrink:0; height:20px; background:rgba(0,0,0,0.6); color:#fff; border:none; border-radius:0; cursor:pointer; font-size:12px; display:flex; align-items:center; justify-content:center; }
.ba-act-row { display:flex; gap:6px; margin-top:7px; }
.ba-act-btn { flex:1; padding:12px 6px; min-height:44px; border-radius:var(--radius-sm); border:1.5px solid var(--slate-200); background:#fff; font-size:12px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:5px; transition:opacity 0.15s, background 0.15s; }
.ba-act-btn:active { opacity:0.65; }
.ba-act-btn.cam { border-color:#93c5fd; color:#1d4ed8; background:#eff6ff; }
.ba-act-btn.gal { border-color:var(--slate-300); color:var(--slate-600); background:#fff; }
.ba-act-btn .act-icon { font-size:16px; }
.ba-act-btn.stacked { flex-direction:column; gap:3px; font-size:11px; }
.ba-act-btn.stacked .act-icon { font-size:22px; }

/* ── 매장MAP 뉴스카드 ── */
.storemap-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; padding:14px; }
.storemap-empty { grid-column:1/-1; text-align:center; padding:40px 10px; color:var(--slate-400); font-size:13px; }
.storemap-card { background:#fff; border:1px solid var(--slate-200); border-radius:12px; overflow:hidden; cursor:pointer; display:flex; flex-direction:column; transition:box-shadow .15s, transform .15s; }
.storemap-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.storemap-card-media { position:relative; width:100%; aspect-ratio:1/1; background:var(--slate-100); }
.storemap-card-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }   /* absolute — 세로 사진이 정사각 칸을 늘리지 않게 */
.storemap-card-noimg { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--slate-300); }
.storemap-card-photocount { position:absolute; right:6px; bottom:6px; background:rgba(0,0,0,0.6); color:#fff; font-size:10.5px; font-weight:700; padding:2px 7px; border-radius:10px; }
.storemap-card-body { padding:10px 12px 12px; display:flex; flex-direction:column; gap:4px; flex:1; }
.storemap-card-store { font-size:10.5px; font-weight:800; color:#db2777; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.storemap-card-title { font-size:14px; font-weight:800; color:var(--slate-900); line-height:1.3; }
.storemap-card-content { font-size:12.5px; color:var(--slate-600); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.storemap-card-foot { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:8px; font-size:11px; color:var(--slate-400); }
.order-note-wrap { margin-top:12px; display:flex; flex-direction:column; gap:5px; }
.order-note-label { font-size:11px; font-weight:700; color:var(--slate-500); letter-spacing:0.03em; text-transform:uppercase; }
.order-note-input { border:1.5px solid var(--slate-200); border-radius:var(--radius-sm); padding:10px 11px; font-size:16px; font-family:inherit; color:var(--slate-800); background:#fff; width:100%; outline:none; resize:vertical; line-height:1.5; transition:border-color 0.15s; }
.order-note-input:focus { border-color:var(--primary); }
.order-note-input::placeholder { color:var(--slate-400); }
.order-submit-row { margin-top:10px; display:flex; justify-content:flex-end; }
.order-submit-btn { padding:11px 22px; min-height:44px; background:var(--green); color:#fff; border:none; border-radius:var(--radius-sm); font-size:13px; font-weight:700; cursor:pointer; letter-spacing:0.01em; }
.order-submit-btn:disabled { background:var(--slate-300); cursor:not-allowed; }
/* 작업자 오더 카드 '제출' 버튼만 파란색 (수정·수정 저장 버튼은 그대로 초록) */
.order-submit-btn[id^="wsub-"]:not(:disabled) { background:var(--primary); }
.upload-progress { height:3px; background:var(--slate-200); border-radius:2px; overflow:hidden; margin-top:6px; display:none; }
.upload-progress-bar { height:100%; background:var(--primary); transition:width .3s; width:0; }

/* ══ Footer ══ */
.footer-bar { position:sticky; bottom:0; background:rgba(255,255,255,0.95); backdrop-filter:blur(8px); border-top:1px solid var(--slate-200); padding:12px 16px; padding-bottom:max(12px, env(safe-area-inset-bottom)); display:flex; gap:10px; max-width:600px; width:100%; margin:0 auto; }
.btn-submit { flex:1; padding:14px; background:var(--primary); color:#fff; border:none; border-radius:var(--radius-sm); font-size:15px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; letter-spacing:-0.01em; box-shadow:none; transition:transform 0.1s; }
.btn-submit:active { background:var(--primary-dark); transform:scale(0.985); }
.btn-submit:disabled { background:var(--slate-300); box-shadow:none; cursor:not-allowed; transform:none; }

/* ══ PDF Preview ══ */
.preview-screen { display:none; flex-direction:column; min-height:100vh; }
.preview-screen.active { display:flex; }
.preview-header { background:var(--slate-900); color:#fff; padding:14px 16px; display:flex; align-items:center; gap:12px; position:sticky; top:0; z-index:100; }
.preview-header h1 { flex:1; font-size:16px; font-weight:700; }
.btn-print { padding:8px 18px; background:var(--primary); color:#fff; border:none; border-radius:var(--radius-sm); font-size:14px; font-weight:700; cursor:pointer; }
.a4-wrap { flex:1; overflow-y:auto; padding:16px; background:var(--slate-300); display:flex; justify-content:center; }
.a4-page { background:#fff; width:100%; max-width:794px; min-height:1123px; padding:36px 44px 70px; box-shadow:0 2px 16px rgba(0,0,0,0.15); font-family:'Pretendard','Malgun Gothic','Apple SD Gothic Neo',sans-serif; font-size:11px; color:#1a1a1a; position:relative; }
/* ══ 관리자 ══ */
/* 관리자 — macOS/iOS 설정 스타일 사이드바 레이아웃 */
.admin-shell { display:flex; align-items:stretch; min-height:100vh; }
.admin-sidebar { width:240px; flex-shrink:0; background:#f8f9fb; border-right:1px solid var(--slate-200); padding:16px 12px; display:flex; flex-direction:column; gap:16px; position:sticky; top:0; align-self:flex-start; height:100vh; overflow-y:auto; box-sizing:border-box; }
.admin-sidebar-top { display:flex; align-items:center; gap:10px; }
.admin-back-btn { width:34px; height:34px; border-radius:10px; border:none; background:var(--slate-100); color:var(--slate-600); display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; transition:background .15s; }
.admin-back-btn:active { background:var(--slate-200); }
.admin-brand { display:flex; align-items:center; gap:9px; min-width:0; }
.admin-brand-mark { width:32px; height:32px; border-radius:9px; background:#231815; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.admin-brand-name { font-size:14px; font-weight:800; color:var(--slate-900); line-height:1.2; }
.admin-brand-sub { font-size:11px; color:var(--slate-400); font-weight:600; }

.admin-nav { background:none; border-top:none; display:flex; flex-direction:column; flex-shrink:0; padding:0; gap:2px; }
.admin-nav-btn { flex:none; display:flex; align-items:center; gap:10px; padding:8px 9px; min-height:auto; border:none; background:none; cursor:pointer; font-size:13.5px; font-weight:600; color:var(--slate-600); border-radius:var(--radius-sm); transition:color .15s, background .15s; text-align:left; }
.admin-nav-btn.active { color:#fff; background:var(--primary); font-weight:700; }
.admin-nav-btn:not(.active):hover { background:var(--slate-100); color:var(--slate-800); }
.admin-nav-badge { width:26px; height:26px; border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.admin-nav-badge.b-blue   { background:linear-gradient(180deg,#4f97ff,var(--primary)); }
.admin-nav-badge.b-green  { background:linear-gradient(180deg,#1fd9b6,var(--green)); }
.admin-nav-badge.b-purple { background:linear-gradient(180deg,#9161f2,var(--purple)); }
.admin-nav-badge.b-amber  { background:linear-gradient(180deg,#ffc247,var(--amber)); }
.admin-nav-badge.b-red    { background:linear-gradient(180deg,#f56b76,var(--danger)); }
.admin-nav-badge.b-pink   { background:linear-gradient(180deg,#f472b6,#db2777); }
.admin-nav-badge.b-teal   { background:linear-gradient(180deg,#2dd4bf,#0d9488); }
.admin-nav-badge.b-indigo { background:linear-gradient(180deg,#818cf8,#4f46e5); }
.admin-nav-badge.b-orange { background:linear-gradient(180deg,#fb923c,#ea580c); }
.admin-nav-badge.b-cyan   { background:linear-gradient(180deg,#22d3ee,#0891b2); }
.admin-nav-divider { height:1px; background:var(--slate-200); margin:6px 9px; }
/* 메뉴 순서 끌어서 바꾸기 — 구분선도 위아래 여유를 줘서 잡을 수 있게 */
@media (min-width: 641px) { .admin-nav-divider[draggable="true"] { cursor:grab; background-clip:content-box; height:9px; padding:4px 0; margin:2px 9px; } }
.admin-nav .nav-dragging { opacity:.35; }
.admin-sidebar-spacer { flex:1; }

.admin-main { flex:1; min-width:0; display:flex; flex-direction:column; }
.admin-top { padding:24px 16px 0; max-width:950px; width:100%; margin:0 auto; box-sizing:border-box; display:flex; align-items:center; gap:10px; }
.admin-top-back { display:none; width:34px; height:34px; border-radius:10px; background:var(--slate-100); border:none; color:var(--slate-600); align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; }
.admin-top-text { flex:1; min-width:0; }
.admin-top h1 { font-size:26px; font-weight:800; letter-spacing:-0.02em; color:var(--slate-900); }
.admin-content { flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:14px; max-width:950px; width:100%; margin:0 auto; box-sizing:border-box; }
.admin-tab-panel { display:none; flex-direction:column; gap:14px; }
.admin-tab-panel.active { display:flex; }
/* 안쪽 메일 앱이 좌우 16px 여백을 가지므로 그만큼 넓혀서 카드 폭을 다른 탭과 맞춤 */
/* 높이는 app.js(openAdminMailTab)에서 내용 높이에 맞춰 자동 조절 */

/* 관리자 카드 — 연한 그림자 위주로 부드럽게 */
#adminScreen .section-card { border:1px solid var(--slate-200); border-radius:16px; box-shadow:0 1px 2px rgba(25,31,40,.04), 0 8px 20px rgba(25,31,40,.04); }
#adminScreen .section-header { background:#fff; border-bottom:1px solid var(--slate-100); }
#adminScreen .s-icon { width:26px; height:26px; border-radius:7px; background:var(--primary-light); color:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }


/* 업로드 존 */
.upload-zone { border:2px dashed var(--slate-300); border-radius:var(--radius); padding:14px 16px; text-align:center; cursor:pointer; transition:border-color .15s,background .15s; background:var(--slate-50); }
.upload-zone:hover, .upload-zone.drag-over { border-color:var(--primary); background:var(--primary-light); }
.upload-zone .u-icon { font-size:22px; margin-bottom:6px; }
.upload-zone h3 { font-size:14px; font-weight:700; color:var(--slate-700); margin-bottom:2px; }
.upload-zone p { font-size:12px; color:var(--slate-500); }
.upload-zone .u-btn { display:inline-block; margin-top:8px; background:var(--primary); color:#fff; border-radius:var(--radius-sm); padding:6px 18px; font-size:13px; font-weight:700; }

/* 관리자 테이블 */
/* ══ 관리자 홈 대시보드 ══ */
.dash-stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:10px; }
.dash-stat-card { position:relative; background:#fff; border:1px solid var(--slate-200); border-radius:16px; padding:14px 14px 13px; text-align:left; box-shadow:0 1px 2px rgba(25,31,40,.04); }
.dash-stat-card::before { content:''; position:absolute; top:14px; right:14px; width:8px; height:8px; border-radius:50%; background:var(--slate-300); }
.dash-stat-card .dash-stat-num { font-size:24px; font-weight:800; color:var(--slate-800); line-height:1.15; }
.dash-stat-card .dash-stat-label { font-size:11.5px; font-weight:600; color:var(--slate-500); margin-top:5px; }
.dash-stat-card.accent-primary .dash-stat-num { color:var(--primary); }
.dash-stat-card.accent-primary::before { background:var(--primary); }
.dash-stat-card.accent-green .dash-stat-num { color:var(--green); }
.dash-stat-card.accent-green::before { background:var(--green); }
.dash-stat-card.accent-amber .dash-stat-num { color:var(--amber); }
.dash-stat-card.accent-amber::before { background:var(--amber); }
.dash-stat-card.accent-danger .dash-stat-num { color:var(--danger); }
.dash-stat-card.accent-danger::before { background:var(--danger); }
.dash-stat-card.accent-purple .dash-stat-num { color:var(--purple); }
.dash-stat-card.accent-purple::before { background:var(--purple); }
.dash-stat-card .dash-stat-diff { margin-left:6px; font-size:11px; font-weight:600; vertical-align:middle; white-space:nowrap; }   /* 지난달 같은 기간 대비 */
.dash-stat-card .dash-stat-diff.up { color:var(--danger); }
.dash-stat-card .dash-stat-diff.down { color:var(--primary); }
.dash-stat-card .dash-stat-diff.same { color:var(--slate-400); }
.dash-list-empty { font-size:12px; color:var(--gray-400); padding:14px; text-align:center; grid-column:1/-1; }
.dash-schedule-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.dash-schedule-card { display:flex; flex-direction:column; gap:4px; padding:10px 12px; border:1px solid var(--slate-200); border-radius:var(--radius-sm); background:#fff; }
.dash-schedule-card .dash-sch-dday { align-self:flex-start; font-size:11px; font-weight:700; color:var(--primary); background:var(--primary-light); border-radius:6px; padding:2px 7px; }
.dash-schedule-card .dash-sch-site { font-size:13px; font-weight:600; color:var(--slate-700); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dash-schedule-card .dash-sch-date { font-size:11px; color:var(--slate-400); }
@media (max-width: 640px) {
  .dash-schedule-grid { grid-template-columns:repeat(3, 1fr); gap:8px; }
  .dash-schedule-card { padding:8px 8px; gap:3px; }
  .dash-schedule-card .dash-sch-dday { font-size:10px; padding:2px 6px; }
  .dash-schedule-card .dash-sch-site { font-size:11.5px; }
  .dash-schedule-card .dash-sch-date { font-size:10px; }
}

.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:11px; }
.admin-table th { background:var(--slate-50); padding:.65rem .9rem; text-align:left; font-weight:700; border-bottom:1px solid var(--slate-200); white-space:nowrap; color:var(--slate-600); font-size:10.5px; letter-spacing:0.03em; text-transform:uppercase; vertical-align:middle; }
.admin-table td { padding:.75rem .9rem; border-bottom:1px solid var(--slate-100); vertical-align:middle; overflow:hidden; }
.admin-table tr:hover td { background:var(--slate-50); }
.tbl-btn { padding:.5rem .8rem; min-height:36px; border:none; border-radius:8px; cursor:pointer; font-size:.78rem; font-weight:600; background:var(--slate-100); color:var(--slate-600); transition:opacity 0.15s, background .15s; }
.tbl-btn:hover { background:var(--slate-200); }
.tbl-btn:active { opacity:0.75; }
.tbl-btn-primary { background:var(--primary); color:#fff; }
.tbl-btn-danger  { background:#fee2e2; color:#991b1b; }

/* 오더관리 / 보고서조회 / 이벤트 탭 전용 — macOS Finder풍 플랫 테이블 */
#atab-orders .tbl-btn:not(.tbl-btn-primary):not(.tbl-btn-danger),
#atab-reports .tbl-btn:not(.tbl-btn-primary):not(.tbl-btn-danger),
#atab-repair .tbl-btn:not(.tbl-btn-primary):not(.tbl-btn-danger) { background:#fff; border:1px solid var(--slate-200); }
/* 오더관리·보고서조회 줄 버튼 — 테두리 없이, 색 없는 버튼(og-btn-off)은 바탕도 없앰 */
#atab-orders #adminOrdersBody .tbl-btn.og-btn, #atab-reports #adminReportsBody .tbl-btn.og-btn { border-color:transparent; }
#atab-orders #adminOrdersBody .tbl-btn.og-btn-off, #atab-reports #adminReportsBody .tbl-btn.og-btn-off { background:transparent; color:var(--slate-500); }
#atab-orders #adminOrdersBody .tbl-btn.og-btn-off:not(:disabled):hover { background:var(--slate-100); }
/* 오더관리·보고서조회 줄 버튼을 같은 크기 정사각형으로 (원래 높이 36px라 줄이 높아 보였음) */
#atab-orders #adminOrdersBody .tbl-btn.og-btn, #atab-reports #adminReportsBody .tbl-btn.og-btn { width:30px; min-height:30px; height:30px; padding:0 !important; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; }
#atab-orders #adminOrdersBody td, #atab-reports #adminReportsBody td { padding-top:.6rem; padding-bottom:.6rem; }
#atab-orders .order-check, #atab-orders .order-group-check, #atab-orders #orderCheckAll,
#atab-reports .report-check, #atab-reports .group-check, #atab-reports .month-check, #atab-reports #checkAll,
#atab-repair .repair-check, #atab-repair .repair-group-check, #atab-repair #repairCheckAll
  { width:16px; height:16px; accent-color:var(--primary); cursor:pointer; }
#atab-orders .admin-table tbody tr:has(.order-check:checked) td,
#atab-reports .admin-table tbody tr:has(.report-check:checked) td,
#atab-repair .admin-table tbody tr:has(.repair-check:checked) td { background:rgba(49,130,246,.08); }
#atab-orders .admin-table tbody tr:has(.order-check:checked) td:first-child,
#atab-reports .admin-table tbody tr:has(.report-check:checked) td:first-child,
#atab-repair .admin-table tbody tr:has(.repair-check:checked) td:first-child { box-shadow:inset 3px 0 0 var(--primary); }

/* 메시지 */
.msg-box { padding:.75rem 1rem; border-radius:var(--radius-sm); font-size:.88rem; font-weight:500; }
.msg-box.error   { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
.msg-box.success { background:#d1fae5; color:#065f46; border:1px solid #6ee7b7; }

/* ══ 모달 ══ */
.modal-overlay { display:none; position:fixed; inset:0; background:rgba(15,23,42,.5); backdrop-filter:blur(4px); z-index:200; align-items:center; justify-content:center; padding:16px; }
.modal-overlay.open { display:flex; }
.modal-box { background:#fff; border-radius:16px; width:100%; max-width:680px; max-height:90vh; overflow-y:auto; box-shadow:var(--shadow-lg); }
.modal-head { padding:1rem 1.25rem; border-bottom:1px solid var(--slate-200); display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; background:#fff; z-index:1; border-radius:16px 16px 0 0; }
.modal-head h3 { font-size:1rem; font-weight:700; color:var(--slate-800); }
.modal-close { background:var(--slate-100); border:none; width:40px; height:40px; border-radius:8px; cursor:pointer; font-size:16px; color:var(--slate-500); transition:background 0.15s; }
.modal-close:hover { background:var(--slate-200); }
.modal-body { padding:1.25rem; }
@media (max-width: 640px) {
  /* 오더 관리 / 보고서 조회 / 이벤트 — 모바일 카드 레이아웃: 테이블 헤더 숨김 */
  #atab-orders .admin-table thead,
  #atab-reports .admin-table thead,
  #atab-repair .admin-table thead { display: none; }
  #atab-orders .admin-table,
  #atab-reports .admin-table,
  #atab-repair .admin-table { width: 100%; table-layout: fixed; }

  /* 섹션 헤더 버튼 줄바꿈 허용 */
  .section-header { flex-wrap: wrap; }
  #atab-reports .section-header > div[style*="margin-left:auto"] { margin-left:0 !important; width:100%; justify-content:flex-start; padding-top:4px; }

  /* 관리자 사이드바 — 모바일에서는 하단 고정 탭바(색상 배지 + 라벨)로 전환 */
  .admin-shell { flex-direction:column; }
  .admin-sidebar {
    position:fixed; left:0; right:0; bottom:0; top:auto; width:100%; height:auto;
    flex-direction:row; align-items:center; flex-wrap:nowrap;
    border-right:none; border-top:1px solid var(--slate-200); border-bottom:none;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    gap:0; z-index:150; background:rgba(248,249,251,.96); backdrop-filter:blur(10px);
    box-shadow:0 -1px 8px rgba(25,31,40,0.06);
  }
  .admin-sidebar-top { display:none; }
  /* 메뉴가 많아 가로 스크롤 허용, 버튼 폭을 고정해 아이콘 간격을 균등하게 */
  .admin-nav { flex-direction:row; flex:1; flex-wrap:nowrap; gap:0; justify-content:flex-start; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .admin-nav::-webkit-scrollbar { display:none; }
  .admin-nav-btn { flex:0 0 64px; width:64px; flex-direction:column; justify-content:flex-start; gap:3px; padding:6px 2px; font-size:9.5px; line-height:1.2; white-space:normal; word-break:keep-all; text-align:center; border-radius:8px; }
  .admin-nav-badge { width:22px; height:22px; border-radius:6px; }
  .admin-nav-divider { flex:0 0 1px; width:1px; height:auto; align-self:stretch; margin:8px 2px; background:var(--slate-300); }
  .admin-sidebar-spacer, #adminScreen #serverInfoBar { display:none; }
  #adminScreen .admin-content { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }

  /* 오더 관리 — 오더번호 검색창 폭을 줄여 한 줄에 다 들어오게 */
  #adminOrderNoSearch { width:78px !important; }

  /* 홈 대시보드 통계 카드 — 2열 3행 대신 3열 2행으로 압축 */
  #adminScreen .dash-stat-grid { grid-template-columns:repeat(3, 1fr); gap:8px; }
  #adminScreen .dash-stat-card { padding:12px 8px 11px; }
  #adminScreen .dash-stat-card .dash-stat-num { font-size:20px; }
  #adminScreen .dash-stat-card .dash-stat-label { font-size:10.5px; }

  /* 관리자 타이틀 줄 — 좁은 화면에서는 서브 텍스트 숨기고, 뒤로가기 버튼을 타이틀 옆에 표시 */
  #adminScreen .admin-top { padding:14px 14px 0; }
  #adminScreen .admin-top-back { display:flex; }

  /* 오더/보고서 수정 모달 하단 버튼줄 — 저장(1줄) / 상태3버튼+취소(1줄)로 2줄 배치, 세로로 길어지는 것 방지 */
  #editActionRow { flex-wrap: wrap; }
  #editActionRow > .btn-submit { flex: 1 1 100%; }
  #editActionRow #editStatusBtnGroup { flex: 3 1 0%; min-width: 0; }
  #editActionRow #editStatusBtnGroup button { flex: 1; min-width: 0; padding: .75rem .2rem; justify-content: center; gap: 0 !important; font-size: .74rem; overflow: hidden; }
  #editActionRow #editStatusBtnGroup button svg { display: none; }
  #editActionRow #editActionCancel { flex: 1 1 0%; }
}

@media print {
  body { background:#fff; }
  .home-screen,.app-screen,.preview-header,.footer-bar,.modal-overlay { display:none !important; }
  .preview-screen { display:block !important; }
  .a4-wrap { padding:0; background:#fff; }
  .a4-page { box-shadow:none; padding:12mm 16mm 18mm; width:210mm; min-height:297mm; }
  @page { size:A4; margin:0; }
}

.ic{width:1em;height:1em;vertical-align:-0.125em;flex-shrink:0}

/* 정기점검 스케줄 캘린더 */
.sch-cal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--slate-200)}
.sch-cal-nav{display:flex;align-items:center;gap:8px}
.sch-cal-nav button{padding:4px 10px;border:1px solid var(--gray-300);background:#fff;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:700}
.sch-cal-label{font-size:.9rem;font-weight:800;color:var(--slate-700);min-width:86px;text-align:center}
.sch-cal-scroll{overflow-x:auto}
.sch-cal-grid{display:grid;grid-template-columns:minmax(0,.7fr) repeat(5,minmax(0,1fr)) minmax(0,.7fr);min-width:490px;border-top:1px solid var(--slate-200);border-left:1px solid var(--slate-200)}
.sch-cal-dow{text-align:center;font-size:.72rem;font-weight:700;color:var(--gray-400);padding:6px 0;border-right:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);background:var(--slate-50)}
.sch-cal-cell{min-height:76px;min-width:0;border-right:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);padding:4px;cursor:pointer}
.sch-cal-cell.empty{background:var(--slate-50);cursor:default}
.sch-cal-cell.other-month{background:var(--slate-50)}
.sch-cal-cell.other-month > *{opacity:.4}
.sch-cal-cell.drag-over{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px}
.sch-cal-daynum{font-size:.72rem;color:var(--gray-400);font-weight:700;margin-bottom:2px}
.sch-cal-cell.holiday .sch-cal-daynum{color:var(--danger)}
.sch-cal-cell.today .sch-cal-daynum{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--primary);color:#fff}
.sch-cal-holiday{font-size:.62rem;font-weight:700;color:var(--danger);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}
.sch-chip{display:flex;align-items:flex-start;justify-content:space-between;gap:2px;background:var(--green-light);color:#065f46;border-radius:5px;padding:1px 4px;font-size:.68rem;font-weight:700;margin-bottom:2px;cursor:pointer;white-space:normal}
.sch-chip.event{background:#ede9fe;color:#5b21b6}
.sch-chip.memo{background:var(--slate-100);color:var(--slate-500);font-weight:600}
.sch-chip span{overflow:visible;min-width:0;word-break:break-word}
.sch-chip .sch-workplan{cursor:pointer;margin-right:2px;font-size:1.05em;line-height:1}
.sch-chip .sch-urgent{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.2em;margin-right:2px;flex-shrink:0}
.sch-chip button{background:none;border:none;color:inherit;cursor:pointer;font-size:.7rem;padding:0 0 0 3px;line-height:1;flex-shrink:0}
.sch-chip.drop-before{box-shadow:0 -2px 0 var(--primary)}
.sch-chip.drop-after{box-shadow:0 2px 0 var(--primary)}
.sch-chip.drop-merge{outline:2px solid var(--primary);outline-offset:-1px}
.sch-chip .sch-chip-workers{display:block;font-size:.85em;font-weight:500;opacity:.85;word-break:keep-all}
.sch-dw-list{display:flex;flex-wrap:wrap;gap:6px}
.sch-dw-list:empty{display:none}
.sch-dw-item{padding:6px 11px;background:#fff;border:1px solid var(--gray-200);border-radius:999px;font-size:13px;font-weight:600;font-family:inherit;color:var(--gray-700);cursor:pointer}
.sch-dw-item.on{background:var(--primary);border-color:var(--primary);color:#fff}
.sch-dw-input{display:block;width:100%;margin-top:8px;padding:4px 0;border:none;outline:none;font-size:14px;font-family:inherit;color:var(--slate-800);background:transparent}
.sch-dw-list:empty + .sch-dw-input{margin-top:0}
@media (max-width: 640px){
  .sch-cal-cell{min-height:56px}
  .sch-cal-grid{min-width:0}
  .sch-cal-dow{font-size:.62rem;padding:4px 0}
  .sch-cal-holiday{font-size:.48rem}
  .sch-chip{font-size:.48rem;padding:1px 3px}
  .sch-cal-head{flex-wrap:wrap;row-gap:8px}
  .sch-cal-nav > span:last-child{display:none}
  .sch-cal-head button{white-space:nowrap}
}
.sch-roster-wrap{padding:12px 14px;border-top:1px solid var(--slate-200);background:var(--slate-50)}
.sch-roster-title{font-size:.75rem;font-weight:700;color:var(--slate-500);margin-bottom:8px}
.sch-roster{display:flex;flex-wrap:wrap;gap:6px}
.sch-archive-wrap{padding:12px 14px;border-top:1px solid var(--slate-200)}
.sch-archive-wrap.drag-over{background:var(--primary-light);outline:2px dashed var(--primary);outline-offset:-2px}
.sch-archive{display:flex;flex-wrap:wrap;gap:6px;min-height:30px;align-items:flex-start;align-content:flex-start}
.sch-archive .sch-chip{margin:0;cursor:grab}
.sch-archive .sch-chip.drop-left{box-shadow:-2px 0 0 var(--primary)}
.sch-archive .sch-chip.drop-right{box-shadow:2px 0 0 var(--primary)}
.sch-memo-wrap{padding:12px 14px;border-top:1px solid var(--slate-200)}
.sch-memo-wrap .sch-roster-title{display:flex;align-items:center;gap:8px}
.sch-memo-status{font-weight:500;color:var(--slate-400)}
.sch-worker-stats{font-size:.82rem;color:var(--slate-700)}
.sch-worker-wrap summary{cursor:pointer;list-style:none;user-select:none}
.sch-worker-wrap summary::-webkit-details-marker{display:none}
.sch-worker-wrap summary::before{content:'▸';margin-right:6px}
.sch-worker-wrap[open] summary::before{content:'▾'}
.sch-worker-wrap:not([open]) summary{margin-bottom:0}
.sch-worker-table{border-collapse:collapse;width:100%;table-layout:fixed}
.sch-worker-table th,.sch-worker-table td{border:1px solid var(--slate-200);padding:5px 4px;text-align:center;word-break:keep-all;overflow-wrap:anywhere}
.sch-worker-table th{background:var(--slate-100);color:var(--slate-500);font-weight:700;width:56px}
.sch-worker-table tr:first-child td{font-weight:600}
.sch-worker-cell{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px}
.sch-memo{width:100%;min-height:120px;resize:vertical;padding:10px 12px;border:1px solid var(--slate-200);border-radius:10px;font-size:.85rem;line-height:1.55;font-family:inherit;color:var(--slate-700);background:#fff;box-sizing:border-box;outline:none}
.sch-memo:focus{border-color:#3182f6}
.sch-memo-tools{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.sch-memo-tools button{min-width:30px;height:28px;padding:0 8px;border:1px solid var(--slate-200);border-radius:7px;background:#fff;color:var(--slate-600);font-size:.85rem;cursor:pointer;font-family:inherit}
.sch-memo-tools button:hover{background:#e8f3ff;border-color:#3182f6;color:#3182f6}
.sch-roster-item{display:flex;align-items:center;gap:5px;background:#fff;border:1.5px solid var(--green);color:#065f46;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:700;cursor:grab;user-select:none;white-space:nowrap}
.sch-roster-item:active{cursor:grabbing}
.sch-roster-item .rb{color:var(--slate-400);font-weight:600}
.sch-roster-item.placed{background:var(--slate-100);border-color:var(--slate-300);color:var(--slate-500)}
.sch-roster-item.placed .rb{color:var(--slate-400)}
#dayEventColorCustom{-webkit-appearance:none;appearance:none}
#dayEventColorCustom::-webkit-color-swatch-wrapper{padding:0}
#dayEventColorCustom::-webkit-color-swatch{border:none;border-radius:50%}
#dayEventColorCustom::-moz-color-swatch{border:none;border-radius:50%}

.ptr-indicator{position:fixed;top:12px;left:50%;width:36px;height:36px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;z-index:99999;pointer-events:none;transform:translate(-50%,-60px);opacity:0;color:#2563eb}
.ptr-indicator.ptr-anim{transition:transform .15s,opacity .15s}
.ptr-indicator.ptr-spin svg{animation:ptr-spin .6s linear infinite}
@keyframes ptr-spin{to{transform:rotate(360deg)}}

/* IFC몰엑셀 (롯데 안전관리 매뉴얼과 같은 모양) */
.ifc-sub { font-size:12px; font-weight:500; color:#8b95a1; margin-left:8px; letter-spacing:0; }
#atab-ifcExcel input, #atab-ifcExcel select { height:42px; border:1.5px solid #e5e8eb; border-radius:10px; padding:0 12px; font-size:14px; font-family:inherit; color:#191f28; background:#fff; outline:none; min-width:0; width:100%; box-sizing:border-box; }
#atab-ifcExcel input:focus, #atab-ifcExcel select:focus { border-color:var(--primary); }
#atab-ifcExcel input::placeholder { color:#b0b8c1; }
/* 표 모양 (롯데 안전관리 PPT와 같음): 칸 사이 1px 선, 회색 머리칸, 테두리 없는 입력칸 */
.ifc-table { display:grid; gap:1px; background:#eef0f3; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
.ifc-cell { display:flex; flex-direction:column; min-width:0; background:#fff; }
.ifc-th { display:flex; align-items:center; min-height:32px; padding:4px 12px; background:#f9fafb; border-bottom:1px solid #eef0f3; font-size:11.5px; font-weight:700; color:#6b7684; box-sizing:border-box; }
#atab-ifcExcel .ifc-table input, #atab-ifcExcel .ifc-table select { border:none; border-radius:0; background:#fff; }
#atab-ifcExcel .ifc-table input:focus { background:var(--primary-light); }
/* 기본 정보: 모바일은 현장책임자·작업내용 / 작업 시작 / 작업 종료 */
.ifc-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.ifc-dt { grid-column:1 / -1; }
.ifc-full { grid-column:span 2; }
.ifc-dt > div { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); gap:1px; background:#eef0f3; }
.ifc-lbl { display:block; font-size:12px; font-weight:600; color:#6b7684; }
.ifc-lbl em { font-style:normal; font-weight:500; color:#8b95a1; margin-left:6px; }
/* 체크박스 줄 (매장 선택, 화기 작업) */
.ifc-checks { display:flex; flex-wrap:wrap; gap:4px 20px; }
.ifc-checks label { display:inline-flex; align-items:center; gap:6px; height:42px; font-size:13px; font-weight:600; color:#6b7684; cursor:pointer; user-select:none; }
#atab-ifcExcel .ifc-checks input { width:15px; height:15px; margin:0; padding:0; accent-color:var(--primary); flex:none; }
.ifc-checks label:has(input:checked) { color:#191f28; }
/* 작업자 표 */
.ifc-wtable { display:block; background:#fff; }
.ifc-whead, .ifc-wrow { display:grid; grid-template-columns:40px 1fr 1.1fr 1.3fr 1.1fr 40px; align-items:stretch; }
.ifc-whead { padding:9px 0; background:#f9fafb; border-bottom:1px solid #e5e8eb; font-size:11.5px; font-weight:700; color:#6b7684; }
.ifc-whead span:not(:first-child) { padding-left:12px; }
.ifc-wrow { margin-left:-1px; border-top:1px solid #eef0f3; }
.ifc-wrow:first-child { border-top:none; }
#atab-ifcExcel .ifc-wrow input { box-shadow:inset 1px 0 0 #eef0f3; }
.ifc-no { align-self:center; justify-self:center; width:22px; height:22px; border-radius:50%; background:#e8f3ff; color:var(--primary); font-size:12px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.ifc-wdel { border:none; border-radius:0; background:#fff; color:#f04452; font-size:16px; line-height:1; cursor:pointer; padding:0; box-shadow:inset 1px 0 0 #eef0f3; }
.ifc-wdel:hover { background:#feecee; }
/* 저장 버튼 */
.ifc-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
#ifcStatus { flex:1; font-size:13px; color:#8b95a1; }
.ifc-save-btn { display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 26px; border:none; border-radius:12px; background:var(--primary); color:#fff; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit; box-shadow:0 4px 12px rgba(49,130,246,.25); }
.ifc-save-btn:hover { background:var(--primary-dark); }
@media (min-width:760px) {
  /* 표 1줄: 현장책임자 | 작업내용, 2줄: 작업 시작 | 작업 종료 */
  .ifc-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .ifc-full { grid-column:span 3; }
  .ifc-dt { grid-column:span 2; }
}
@media (max-width:640px) {
  .ifc-checks { flex-wrap:nowrap; gap:12px; }
  .ifc-checks label { height:30px; white-space:nowrap; }
  /* 작업자: 번호 | 이름·주민번호 / 전화·차량 | 삭제 */
  .ifc-whead { display:none; }
  .ifc-wrow { grid-template-columns:34px 1fr 1fr 34px; }
  #atab-ifcExcel .ifc-wrow input { padding:0 8px; font-size:13.5px; box-shadow:inset 1px 1px 0 #eef0f3; }
  #atab-ifcExcel .ifc-wrow .ifc-ac input, #atab-ifcExcel .ifc-wrow > input:nth-of-type(1) { box-shadow:inset 1px 0 0 #eef0f3; }   /* 1줄(이름·주민번호)은 왼쪽 선만 */
  .ifc-wrow > .ifc-no { grid-row:1 / span 2; }
  .ifc-wrow > .ifc-wdel { grid-column:4; grid-row:1 / span 2; }
  .ifc-actions { flex-direction:column; align-items:stretch; }
  .ifc-save-btn { justify-content:center; }
}

/* ── 홈·스케줄·오더 관리·보고서 조회·이벤트 보고서: 안전관리 PPT·IFC몰 Excel과 같은 표 모양 ── */
#atab-upload .admin-table th, #atab-orders .admin-table th, #atab-reports .admin-table th, #atab-repair .admin-table th { background:#f9fafb; color:#6b7684; font-size:11.5px; letter-spacing:0; text-transform:none; border-bottom:1px solid #e5e8eb; }
#atab-upload .admin-table td, #atab-orders .admin-table td, #atab-reports .admin-table td, #atab-repair .admin-table td { border-bottom:1px solid #eef0f3; }
#atab-upload .admin-table tr:hover td, #atab-orders .admin-table tr:hover td, #atab-reports .admin-table tr:hover td, #atab-repair .admin-table tr:hover td { background:#f9fafb; }
@media (min-width:641px) {
  #atab-upload .admin-table th + th, #atab-orders .admin-table th + th, #atab-reports .admin-table th + th, #atab-repair .admin-table th + th,
  #atab-upload .admin-table td + td, #atab-orders .admin-table td + td, #atab-reports .admin-table td + td, #atab-repair .admin-table td + td { border-left:1px solid #eef0f3; }
  /* PC에서 오더관리·보고서조회·이벤트 보고서 목록 글씨가 작아 보여서 표 전체를 조금 키움 (줄마다 글씨 크기가 코드에 박혀 있어 zoom으로) */
  #atab-orders .admin-table, #atab-reports .admin-table, #atab-repair .admin-table { zoom:1.12; }
  /* 보고서조회 오른쪽 끝 버튼 아이콘 조금 작게 (14 → 12px) */
  #atab-reports .admin-table tbody .tbl-btn svg { width:12px; height:12px; }
}
/* 그룹 줄 매장명 칸은 코드에 왼쪽 여백 0이 들어 있어 세로선에 글자가 붙음 → 12px */
#atab-orders .admin-table td[style$=" 0"], #atab-reports .admin-table td[style$=" 0"], #atab-repair .admin-table td[style$=" 0"] { padding-left:12px !important; }

/* 홈: 작업자 등록·공지 입력칸 = 회색 이름칸 + 테두리 없는 입력칸 */
#atab-upload .field-row { gap:1px; background:#eef0f3; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; margin-bottom:12px; }
#atab-upload .section-body > .field-group, #moPaneManual > .field-group { border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
#atab-upload .field-group { gap:0; background:#fff; }
#atab-upload .field-label { min-height:32px; padding:4px 12px; background:#f9fafb; border-bottom:1px solid #eef0f3; font-size:11.5px; font-weight:700; color:#6b7684; text-transform:none; letter-spacing:0; }
#atab-upload .field-input { height:42px; border:none; border-radius:0; box-shadow:none; padding:0 12px; font-size:14px; }
#atab-upload .field-input.textarea { height:auto; padding:10px 12px; }
#atab-upload .field-input:focus { background:var(--primary-light); box-shadow:none; }
/* 스케줄: 캘린더 칸 선·요일 머리줄을 표와 같게 */
#atab-schedule .sch-cal-grid { border-color:#eef0f3; }
#atab-schedule .sch-cal-dow { background:#f9fafb; color:#6b7684; font-size:11.5px; border-right-color:#eef0f3; border-bottom-color:#e5e8eb; }
#atab-schedule .sch-cal-cell { border-color:#eef0f3; padding:6px 8px; }
#atab-schedule .sch-cal-cell.empty { background:#fbfbfc; }
#atab-schedule .sch-memo { border:1px solid #e5e8eb; }
#atab-schedule .sch-memo:focus { border-color:var(--primary); }
@media (max-width:640px) { #atab-schedule .sch-cal-dow { font-size:.62rem; } #atab-schedule .sch-cal-cell { padding:4px 5px; } }
/* 홈: 대시보드 숫자 카드 = 회색 이름칸 + 숫자칸 표 한 줄, 다가오는 정기점검 = 선으로 나눈 표 */
#atab-upload .dash-stat-grid, #atab-upload .dash-schedule-grid { gap:1px; background:#eef0f3; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
#atab-upload .dash-stat-grid { grid-template-columns:repeat(6, minmax(0, 1fr)); }
#atab-upload .dash-stat-card { display:flex; flex-direction:column-reverse; padding:0; border:none; border-radius:0; box-shadow:none; background:#fff; }
#atab-upload .dash-stat-card::before { display:none; }
#atab-upload .dash-stat-card .dash-stat-label { display:flex; align-items:center; min-height:32px; margin:0; padding:4px 12px; background:#f9fafb; border-bottom:1px solid #eef0f3; font-size:11.5px; font-weight:700; color:#6b7684; }
#atab-upload .dash-stat-card .dash-stat-num { padding:10px 12px; font-size:22px; }
#atab-upload .dash-schedule-card { padding:10px 12px; border:none; border-radius:0; background:#fff; }
#atab-upload .dash-list-empty { background:#fff; }
@media (max-width:640px) {
  /* 카드 6개: 3열 2행 */
  #atab-upload .dash-stat-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  #atab-upload .dash-stat-card .dash-stat-label { padding:4px 8px; font-size:10.5px; }
  #atab-upload .dash-stat-card .dash-stat-num { padding:8px; font-size:20px; }
  #atab-upload .dash-schedule-card { padding:8px; }
}
/* 스케줄: 캘린더를 둥근 테두리 표 상자에 넣고(마지막 열·줄 선은 상자 테두리와 겹치니 지움), 메모는 도구 줄을 머리줄로 */
#atab-schedule .sch-cal-scroll { margin:0 14px 14px; border:1px solid #e5e8eb; border-radius:10px; }
#atab-schedule .sch-cal-grid { border-top:none; border-left:none; }
#atab-schedule .sch-cal-grid > :nth-child(7n) { border-right:none; }
#atab-schedule #scheduleCalendar > :nth-last-child(-n+7) { border-bottom:none; }
#atab-schedule .sch-cal-nav button, #atab-schedule .sch-cal-head button { height:32px; padding:0 12px; border:1px solid var(--slate-200); border-radius:9px; background:#fff; font-size:12.5px; }
#atab-schedule .sch-memo-tools { margin:0; padding:6px 8px; background:#f9fafb; border:1px solid #e5e8eb; border-bottom:1px solid #eef0f3; border-radius:10px 10px 0 0; }
#atab-schedule .sch-memo-tools:empty { display:none; }
#atab-schedule .sch-memo-tools:empty + .sch-memo { border-top:1px solid #e5e8eb; border-radius:10px; }
#atab-schedule .sch-memo { border-top:none; border-radius:0 0 10px 10px; }
#atab-schedule .sch-memo:focus { border-color:#e5e8eb; background:#f5f9ff; }
/* 현장 화면(이벤트 보고서) Category 입력칸: 관리자 화면과 같은 표 모양. 현장용이라 칸·글자를 조금 크게, 입력 글자 16px(아이폰 확대 방지) */
#repairScreen .rp-table { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1px; background:#eef0f3; border:1px solid #e5e8eb; border-radius:12px; overflow:hidden; }
#repairScreen .rp-table > .field-row { display:contents; }
#repairScreen .rp-table > .field-group { grid-column:1 / -1; }
#repairScreen .rp-table .field-group { gap:0; min-width:0; background:#fff; }
#repairScreen .rp-table .field-label { min-height:34px; padding:6px 14px; background:#f9fafb; border-bottom:1px solid #eef0f3; font-size:12.5px; font-weight:700; color:#6b7684; text-transform:none; letter-spacing:0; }
#repairScreen .rp-table .field-input { height:48px; border:none; border-radius:0; box-shadow:none; padding:0 14px; font-size:16px; background:#fff; }
#repairScreen .rp-table select.field-input { padding-right:8px; }
#repairScreen .rp-table .field-input:focus { background:var(--green-light); box-shadow:none; }
#repairScreen .rp-table .field-input:disabled { background:#fff; color:var(--slate-400); }
#repairScreen .rp-table .field-group > div { gap:0 !important; }
#repairScreen .rp-table .field-group > div > span { padding:0 2px; }
#repairScreen #rStoreCodeHint { padding:0 14px 8px !important; }
#repairScreen #rStoreCodeHint:empty { display:none; }
#repairScreen .rp-card, #maintenanceScreen .rp-card { background:none; border:none; border-radius:0; box-shadow:none; overflow:visible; }
#repairScreen .rp-card .section-header, #maintenanceScreen .rp-card .section-header { padding:0 4px 8px; background:none; border:none; }
#repairScreen .rp-card .section-body, #maintenanceScreen .rp-card .section-body { padding:0; }
/* 현장작업 보고: 오더 검색·필터 줄도 회색 띠 없이 */
#maintenanceScreen .rp-card .wk-filter { padding:0 0 10px !important; background:none !important; border:none !important; }
/* 바깥 상자가 없으니 구역(오더 목록 → PO → 제출된 오더) 사이를 조금 띄움 */
#maintenanceScreen .rp-card + .rp-card, #repairScreen .rp-card + .rp-card { margin-top:12px; }
/* 현장 오더 목록: 카드 사이 간격 22px → 8px (section-body gap만 쓰고 카드 아래 여백은 없앰) */
#workerOrdersBody { gap:8px; }
#workerOrdersBody > .order-card { margin-bottom:0; }
/* 오더 목록(미완료 포함)과 PO 구역 사이 구분선 */
#maintenanceScreen .rp-card:has(#poBody) { margin-top:20px; padding-top:16px; border-top:1px solid #e5e8eb; }
/* Photo & Work: 바깥 카드 대신 블록마다 흰 테두리 상자 (블록 사이 인라인 border-top 선은 상자로 대체) */
#repairScreen #rBlockList > div { background:#fff; border:1px solid #e5e8eb !important; border-radius:12px; padding:12px !important; }
/* 현장작업 보고: 오더 펼친 화면의 정보·입력칸 = 회색 이름칸 + 테두리 없는 입력칸 표 (사진 Before/After 칸은 그대로). #modalBody = 관리자 보고서 미리보기 기본정보 */
#maintenanceScreen .oc-table, #modalBody .oc-table { display:grid; gap:1px; background:#eef0f3; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; margin-bottom:10px; }
#maintenanceScreen .oc-table.oc-2, #modalBody .oc-table.oc-2 { grid-template-columns:repeat(2, minmax(0, 1fr)); }
#maintenanceScreen .oc-wide, #modalBody .oc-wide { grid-column:1 / -1; }
#maintenanceScreen .oc-cell, #modalBody .oc-cell { display:flex; flex-direction:column; min-width:0; background:#fff; }
#maintenanceScreen .oc-th, #modalBody .oc-th { display:block; min-height:30px; padding:7px 12px 5px; background:#f9fafb; border-bottom:1px solid #eef0f3; font-size:12px; font-weight:700; color:#6b7684; line-height:1.4; }
#maintenanceScreen .oc-hint { display:block; font-size:11px; font-weight:500; color:#b0b8c1; }
/* 중복 오더번호: 기본 접힘(details). 머리칸을 누르면 펼침, 접혀 있을 때도 입력값은 머리칸 오른쪽에 보임 */
#maintenanceScreen .oc-fold { display:block; }
#maintenanceScreen .oc-fold > summary { display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; }
#maintenanceScreen .oc-fold > summary::-webkit-details-marker { display:none; }
#maintenanceScreen .oc-fold:not([open]) > summary { border-bottom:none; }
#maintenanceScreen .oc-fold > summary svg { margin-left:auto; flex-shrink:0; transition:transform .15s; }
#maintenanceScreen .oc-fold[open] > summary svg { transform:rotate(180deg); }
#maintenanceScreen .oc-fold-val { font-weight:600; color:#333d4b; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
#maintenanceScreen .oc-fold-hint { padding:8px 12px 0; }
#maintenanceScreen .oc-td, #modalBody .oc-td { padding:10px 12px; font-size:13px; font-weight:700; color:#333d4b; word-break:keep-all; overflow-wrap:anywhere; }
#maintenanceScreen .oc-cell .field-input, #maintenanceScreen .oc-cell .order-note-input { height:46px; border:none; border-radius:0; box-shadow:none; background:#fff; padding:0 12px; font-size:16px; }
#maintenanceScreen .oc-cell textarea.order-note-input { height:auto; min-height:64px; padding:10px 12px; resize:vertical; }
#maintenanceScreen .oc-cell .field-input:focus, #maintenanceScreen .oc-cell .order-note-input:focus { background:var(--primary-light); box-shadow:none; }
/* 조치내용(사진 블록 목록) 아래 중복 오더번호 표와 간격 */
#maintenanceScreen [id^="wiss-"]:not(:empty) { margin-bottom:10px; }
/* PIN 입력창(작업자·관리자 확인): 휴대폰에서 화면 가운데에 두면 키패드에 가려지므로 위쪽에 띄움 */
@media (max-width:640px) {
  #workerLoginModal, #adminLoginModal { align-items:flex-start; padding-top:calc(10vh + env(safe-area-inset-top)); }
}
/* 스케줄 캘린더 휴대폰: 칸이 좁아 일정 글자가 세로로 길게 늘어지므로 여백을 줄여 폭을 확보하고 글자를 작게 유지 */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
@media (max-width:640px) {
  #atab-schedule .sch-cal-scroll { margin:0 6px 10px; }
  #atab-schedule .sch-cal-cell { padding:3px 2px; min-height:52px; }
  #atab-schedule .sch-cal-daynum { font-size:.6rem; margin:0 0 2px 2px; }
  #atab-schedule .sch-chip { padding:1px 2px; gap:0; border-radius:4px; font-size:.5rem; line-height:1.25; letter-spacing:-.02em; }
  #atab-schedule .sch-chip span { word-break:break-all; }
  #atab-schedule .sch-chip button { font-size:.45rem; padding:0 0 0 1px; }
}
/* IFC몰 Excel 작업자 이름 선택: 작업계 메일과 같은 회사별 펼침 목록 */
#atab-ifcExcel .ifc-ac { position:relative; min-width:0; }
#atab-ifcExcel .ifc-ac input { padding-right:26px; cursor:pointer; }
#atab-ifcExcel .ifc-chev { position:absolute; right:9px; top:50%; transform:translateY(-50%); color:#8b95a1; pointer-events:none; }
#atab-ifcExcel .ifc-table:has(.ifc-dd.open) { overflow:visible; }
.ifc-dd { display:none; position:absolute; top:calc(100% + 4px); left:0; z-index:60; min-width:min(300px, calc(100vw - 80px)); max-height:340px; overflow-y:auto; background:#fff; border:1px solid #e5e8eb; border-radius:12px; box-shadow:0 12px 32px rgba(25,31,40,.12); padding:4px; }
.ifc-dd.open { display:block; }
.ifc-dd-group { font-size:11.5px; font-weight:700; color:#8b95a1; padding:8px 10px 4px; position:sticky; top:-4px; background:#fff; }
.ifc-dd-item { display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; font-size:13px; cursor:pointer; }
.ifc-dd-item:hover { background:#f2f4f6; }
.ifc-dd-item.selected { background:var(--primary-light); }
.ifc-dd-item .wn { font-weight:600; min-width:48px; color:#191f28; }
.ifc-dd-item .ph { color:var(--primary); font-weight:600; font-size:12px; }
.ifc-dd-item .car { margin-left:auto; color:#8b95a1; font-size:12px; }
.ifc-dd-item.used { opacity:.45; }
.ifc-dd-item .used-tag { margin-left:auto; font-size:11px; font-weight:700; color:#6b7684; background:#f2f4f6; border-radius:10px; padding:1px 7px; }
.ifc-dd-empty { padding:12px 14px; font-size:13px; color:#8b95a1; }
/* 오더 관리·보고서 조회: 오더번호 칸을 내용 폭에 맞추고 좌우 여백을 12px로 같게 (원래 135px 고정이라 오른쪽이 넓게 비었음) */
@media (min-width:641px) {
  #atab-orders .admin-table thead th:nth-child(2), #atab-reports .admin-table thead th:nth-child(2) { width:1% !important; padding-left:12px; padding-right:12px; }
  #atab-orders .admin-table tbody td:nth-child(2):not([colspan]), #atab-reports .admin-table tbody td:nth-child(2):not([colspan]) { padding-left:12px; padding-right:12px; }
}
/* 홈 등록된 작업자: 다른 표처럼 카드 안쪽 둥근 테두리 상자, 삭제는 빨간 × 칸 */
#atab-upload .hw-table { border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
#atab-upload .hw-table .admin-table th { padding:9px 12px; }
#atab-upload .hw-table .admin-table td { padding:10px 12px; font-size:13px; color:var(--slate-700); }
#atab-upload .hw-table .admin-table td:first-child { font-weight:700; color:#191f28; }
#atab-upload .hw-table tbody tr:last-child td { border-bottom:none; }
#atab-upload .hw-table .admin-table th:last-child, #atab-upload .hw-table td.hw-del { width:44px; padding:0; text-align:center; }
#atab-upload .hw-del button { width:100%; height:40px; border:none; background:none; color:#f04452; font-size:17px; cursor:pointer; }
#atab-upload .hw-del button:hover { background:#feecee; }
#atab-upload .hw-table .admin-table th + th, #atab-upload .hw-table .admin-table td + td { border-left:1px solid #eef0f3; }   /* 휴대폰에서도 칸 세로선 */
/* 다가오는 정기점검 일정: 가까운 날짜 4개(같은 날짜는 한 칸, 매장명은 스케줄 태그 묶음(group_id)대로 — 묶음 한 줄, 안 묶인 태그는 따로 한 줄)를 한 줄 4칸으로.
   4개보다 적어도 칸 폭은 1/4 그대로라 남는 자리는 흰 바탕 — 칸 사이 선은 gap 대신 오른쪽 테두리 */
#atab-upload .dash-schedule-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0; background:#fff; }
#atab-upload .dash-schedule-grid .dash-schedule-card { min-width:0; border-right:1px solid #eef0f3; }
#atab-upload .dash-schedule-grid .dash-schedule-card:nth-child(4) { border-right:none; }
#atab-upload .dash-schedule-grid .dash-sch-date { margin-top:auto; }   /* 칸마다 줄 수가 달라도 날짜는 맨 아래로 맞춤 */
/* 정기점검 일정 매장 줄 끝 미제출 오더 수 — 동그라미 안 숫자, 0은 회색 */
.dash-sch-line { display:flex; flex-wrap:wrap; align-items:center; gap:3px 6px; min-width:0; }   /* 묶음이 길면 매장 단위로 다음 줄 */
.dash-sch-store { display:flex; align-items:center; gap:5px; min-width:0; max-width:100%; }   /* 매장명 + 동그라미는 붙어서 다님 */
.dash-sch-store .dash-sch-site { min-width:0; }
.dash-sch-line .sch-workplan { font-size:12px; line-height:1; flex-shrink:0; margin-right:-3px; }
.dash-sch-workers { font-size:11px; font-weight:500; color:var(--slate-500); word-break:keep-all; margin-top:-2px; }   /* 매장 줄 아래 작업자 명단 */
.dash-sch-cnt { flex:none; display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 4px; box-sizing:border-box; border-radius:9px; background:var(--primary); color:#fff; font-size:10.5px; font-weight:700; line-height:1; }
.dash-sch-cnt.zero { background:#e5e8eb; color:#8b95a1; }
@media (max-width:640px) { .dash-sch-cnt { min-width:16px; height:16px; font-size:9.5px; } }
/* 대시보드 승강기 점검 D-Day: 정기점검 일정과 같은 표 모양(칸 사이 1px 선), 작은 칸에 매장명 + (주기 진행 막대 · D-Day). PC 7칸 한 줄 / 모바일도 한 줄, 옆으로 넘겨 봄 */
.dash-elev-more { margin-left:auto; border:none; background:none; padding:0; font-size:11.5px; font-weight:600; color:var(--slate-400); cursor:pointer; font-family:inherit; }
.dash-elev-more:hover { color:var(--primary); }
.dash-elev-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1px; background:#eef0f3; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
.dash-elev-card { display:flex; flex-direction:column; gap:5px; padding:7px 10px; background:#fff; min-width:0; }
.dash-elev-name { font-size:11.5px; font-weight:600; color:var(--slate-700); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dash-elev-bot { display:flex; align-items:center; gap:6px; }
.dash-elev-bar { flex:1; height:4px; background:#eef0f3; border-radius:2px; overflow:hidden; }
.dash-elev-bar > div { height:100%; border-radius:2px; background:var(--primary); }
.dash-elev-dday { flex:none; font-size:10.5px; font-weight:700; color:var(--primary); }
.dash-elev-card.soon .dash-elev-dday { color:#e89b00; }
.dash-elev-card.soon .dash-elev-bar > div { background:#e89b00; }
.dash-elev-card.over .dash-elev-dday { color:var(--danger); }
.dash-elev-card.over .dash-elev-bar > div { background:var(--danger); }
.dash-elev-grid .dash-list-empty { background:#fff; }
.dash-elev-card.empty { cursor:default; }
.dash-elev-card.empty:hover { background:#fff; }
@media (max-width:640px) {
  .dash-elev-card { padding:6px 7px; }
  .dash-elev-name { font-size:10.5px; }
  .dash-elev-dday { font-size:10px; }
}

/* PO 카드 날짜·매장 표 줄의 날짜 — 테두리 없는 날짜 입력 */
.po-line-date { width:7.6em; border:none; background:transparent; padding:0; font:inherit; font-size:13px; font-weight:600; color:var(--slate-700); text-align:left; cursor:pointer; }
.po-line-date::-webkit-date-and-time-value { text-align:left; }
.po-line-date::-webkit-calendar-picker-indicator { display:none; }

/* 순회점검표 (IFC몰 제출문서와 같은 표 모양) */
#atab-patrolCheck input, #atab-patrolCheck select { height:42px; border:none; border-radius:0; padding:0 12px; font-size:14px; font-family:inherit; color:#191f28; background:#fff; outline:none; min-width:0; width:100%; box-sizing:border-box; }
#atab-patrolCheck input:focus, #atab-patrolCheck select:focus { background:var(--primary-light); }
#atab-patrolCheck input::placeholder { color:#b0b8c1; }
.pc-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.pc-table { display:block; background:#fff; }
.pc-head, .pc-row { display:grid; grid-template-columns:minmax(0, 1fr) 132px minmax(0, 0.8fr); }
.pc-head { padding:9px 0; background:#f9fafb; border-bottom:1px solid #e5e8eb; font-size:11.5px; font-weight:700; color:#6b7684; }
.pc-head span { padding-left:12px; }
.pc-row { border-top:1px solid #eef0f3; }
#pcRows .pc-row:first-child { border-top:none; }
.pc-item { display:flex; flex-direction:column; gap:2px; padding:10px 12px; font-size:12.5px; line-height:1.45; color:#4e5968; word-break:keep-all; }
.pc-item b { font-size:13px; color:#191f28; }
.pc-seg { display:flex; align-items:center; gap:6px; padding:0 10px; box-shadow:inset 1px 0 0 #eef0f3; }
.pc-seg button { flex:1; height:32px; border:1.5px solid #e5e8eb; border-radius:8px; background:#fff; color:#6b7684; font-size:12.5px; font-weight:700; font-family:inherit; cursor:pointer; padding:0; }
.pc-seg button.on[data-v="G"] { border-color:var(--primary); background:var(--primary); color:#fff; }
.pc-seg button.on[data-v="H"] { border-color:#f04452; background:#f04452; color:#fff; }
#atab-patrolCheck .pc-row > input { height:auto; min-height:42px; box-shadow:inset 1px 0 0 #eef0f3; }
.pc-sig { position:relative; display:flex; align-items:center; justify-content:center; height:42px; border:none; background:#fff; color:#b0b8c1; font-size:13.5px; font-family:inherit; cursor:pointer; padding:0 12px; }
.pc-sig:hover { background:var(--primary-light); }
.pc-sig img { max-height:34px; max-width:100%; }
.pc-sig-x { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:26px; height:26px; display:flex; align-items:center; justify-content:center; color:#f04452; font-size:17px; }
.pc-sig-modal { display:none; position:fixed; inset:0; z-index:3000; background:rgba(0,0,0,.45); align-items:flex-end; justify-content:center; }
.pc-sig-modal.open { display:flex; }
.pc-sig-sheet { width:100%; max-width:640px; background:#fff; border-radius:18px 18px 0 0; padding:16px 16px calc(16px + env(safe-area-inset-bottom)); box-sizing:border-box; }
.pc-sig-title { display:flex; align-items:baseline; gap:8px; margin-bottom:10px; font-size:15px; color:#191f28; }
.pc-sig-title span { font-size:12px; color:#8b95a1; }
#pcSigCanvas { display:block; width:100%; height:min(260px, 42vh); border:1.5px dashed #c9d0d8; border-radius:12px; background:#fff linear-gradient(transparent calc(75% - 1px), #eef0f3 calc(75% - 1px), #eef0f3 75%, transparent 75%); touch-action:none; cursor:crosshair; }
.pc-sig-btns { display:flex; gap:8px; margin-top:12px; }
.pc-sig-btns button { flex:1; height:48px; border:1.5px solid #e5e8eb; border-radius:12px; background:#fff; color:#4e5968; font-size:15px; font-weight:700; font-family:inherit; cursor:pointer; }
.pc-sig-btns .pc-sig-ok { flex:1.4; border-color:var(--primary); background:var(--primary); color:#fff; }
@media (min-width:641px) { .pc-sig-modal { align-items:center; } .pc-sig-sheet { border-radius:18px; } }
.pc-all-btn { margin-left:auto; flex:none; height:32px; padding:0 14px; border:1.5px solid var(--primary); border-radius:8px; background:#fff; color:var(--primary); font-size:12.5px; font-weight:700; font-family:inherit; cursor:pointer; }
.pc-all-btn:hover { background:var(--primary-light); }
@media (min-width:760px) {
  .pc-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
}
@media (max-width:640px) {
  /* 점검사항: 1줄 항목 전체 / 2줄 양호·미비 | 조치 및 개선사항 */
  .pc-head { display:none; }
  .pc-row { grid-template-columns:120px minmax(0, 1fr); }
  .pc-item { grid-column:1 / -1; }
  .pc-seg { box-shadow:inset 0 1px 0 #eef0f3; padding:5px 8px; }
  #atab-patrolCheck .pc-row > input { box-shadow:inset 1px 1px 0 #eef0f3; }
}

/* 순회점검표 기본 정보: 모바일·태블릿(터치 화면)에서만 글자·칸을 크게 (점검사항은 그대로) */
@media (max-width:1024px), (pointer:coarse) {
  #atab-patrolCheck .pc-grid .ifc-th { min-height:38px; padding:6px 14px; font-size:14px; }
  #atab-patrolCheck .pc-grid input, #atab-patrolCheck .pc-grid select { height:54px; padding:0 14px; font-size:18px; }
  #atab-patrolCheck .pc-grid .pc-sig { height:54px; font-size:17px; }
  #atab-patrolCheck .pc-grid .pc-sig img { max-height:44px; }
  #atab-patrolCheck .pc-sched .ifc-lbl { font-size:14px; }
  #atab-patrolCheck .pc-sched-chip { height:44px; padding:0 18px; border-radius:22px; font-size:16px; }
  #atab-patrolCheck .pc-sched-empty { font-size:15px; line-height:44px; }
}

/* 현장 작업자: 오더 목록 위 '순회점검표 작성' 버튼, 작업자용 순회점검표 화면 */
.wk-patrol-btn { display:flex; align-items:center; gap:10px; width:100%; height:52px; padding:0 16px; border:none; border-radius:14px; background:#fff; color:#191f28; font-size:15px; font-weight:700; font-family:inherit; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.06); box-sizing:border-box; }
.wk-patrol-btn > svg:first-child { color:#fff; background:#16a34a; border-radius:8px; padding:5px; width:28px; height:28px; box-sizing:border-box; }
.wk-patrol-btn .wk-patrol-chev { margin-left:auto; color:#b0b8c1; }
.wk-patrol-btn:active { background:#f2f4f6; }
#patrolScreen .ifc-actions { margin-bottom:24px; }

/* 순회점검표: 제출된 목록(관리자만), EXCEL 다운로드는 흰 버튼 + 제출은 파란 버튼 */
#patrolScreen .pc-list-card { display:none; }
.pc-fold-btn { flex:none; width:32px; height:32px; margin-left:6px; border:1px solid var(--slate-200); border-radius:8px; background:#fff; color:var(--slate-500); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.pc-fold-btn svg { transition:transform .15s; }
.pc-check-card h2 { cursor:pointer; }
.pc-check-card.collapsed .pc-fold-btn svg { transform:rotate(-90deg); }
.pc-check-card.collapsed .section-body { display:none; }
#patrolScreen .pc-fold-btn { display:none; }
#patrolScreen .pc-check-card h2 { cursor:default; }
.pc-dl-btn { background:#fff; color:var(--primary); border:1.5px solid var(--primary); box-shadow:none; }
.pc-dl-btn:hover { background:var(--primary-light); }
#pcSubmitBtn:disabled { opacity:.5; cursor:default; }
.pc-list { border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; max-height:420px; overflow-y:auto; }
.pc-list-empty { padding:24px; text-align:center; font-size:13px; color:#8b95a1; }
.pc-list-row { display:grid; grid-template-columns:72px minmax(0,1fr) 90px 76px 64px 40px; align-items:center; border-top:1px solid #eef0f3; font-size:13px; color:#191f28; }
.pc-list-row:first-child { border-top:none; }
.pc-list-row > * { padding:8px 12px; }
.pc-list-row > * + * { box-shadow:inset 1px 0 0 #eef0f3; align-self:stretch; display:flex; align-items:center; }
.pc-l-date { font-weight:700; }
.pc-l-store { flex-direction:column; align-items:flex-start !important; justify-content:center; gap:1px; min-width:0; }
.pc-l-store em { font-style:normal; font-size:11.5px; color:#8b95a1; }
.pc-l-worker { color:#4e5968; }
.pc-l-bad { font-size:12px; font-weight:700; color:#8b95a1; }
.pc-l-bad.on { color:#f04452; }
.pc-l-xls { border:none; background:#fff; color:#16a34a; font-size:12px; font-weight:800; font-family:inherit; cursor:pointer; justify-content:center; }
.pc-l-xls:hover { background:#f0fdf4; }
.pc-l-del { border:none; background:#fff; color:#f04452; font-size:17px; cursor:pointer; justify-content:center; padding:0 !important; }
.pc-l-del:hover { background:#feecee; }
@media (max-width:640px) {
  /* 1줄 날짜·매장 | EXCEL | × , 2줄 작업자·미비 */
  .pc-list-row { grid-template-columns:64px minmax(0,1fr) 60px 36px; }
  .pc-l-worker, .pc-l-bad { grid-row:2; box-shadow:inset 0 1px 0 #eef0f3 !important; padding:5px 12px !important; font-size:12px; }
  .pc-l-worker { grid-column:1 / 3; }
  .pc-l-bad { grid-column:3 / 5; }
  .pc-l-xls, .pc-l-del { grid-row:1; }
  .pc-l-xls { grid-column:3; } .pc-l-del { grid-column:4; }
}

/* 순회점검표: 스케줄 매장 버튼 (기본 정보 표 위) */
.pc-sched { margin-bottom:12px; }
.pc-sched .ifc-lbl { margin-bottom:6px; }
.pc-sched-chips { display:flex; flex-wrap:wrap; gap:6px; }
.pc-sched-chip { height:36px; padding:0 14px; border:1.5px solid #e5e8eb; border-radius:18px; background:#fff; color:#333d4b; font-size:13.5px; font-weight:700; font-family:inherit; cursor:pointer; }
.pc-sched-chip:hover { border-color:var(--primary); }
.pc-sched-chip.on { border-color:var(--primary); background:var(--primary); color:#fff; }
.pc-sched-empty { font-size:13px; color:#8b95a1; line-height:36px; }

/* PO 카드 브랜드·매장 선택창 — .field-input의 appearance:none으로 사라진 화살표를 다시 그림 */
select.po-store-select { padding-right:34px; text-overflow:ellipsis; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center; }
.po-store-confirm { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; margin-top:8px; padding:11px 0; background:#7c3aed; color:#fff; border:none; border-radius:var(--radius-sm); font-size:14px; font-weight:700; font-family:inherit; cursor:pointer; }

/* 백업 / 복원 */
.backup-row { display:flex; align-items:center; gap:10px; padding:14px 4px; border-bottom:1px solid #f2f4f6; }
.backup-row:last-of-type { border-bottom:none; }
.backup-name { flex:1; min-width:0; }
.backup-name strong { display:block; font-size:15px; font-weight:700; color:var(--slate-800); }
.backup-name span { display:block; font-size:12.5px; color:#8b95a1; margin-top:2px; }
.backup-btn { display:inline-flex; align-items:center; height:38px; padding:0 16px; border:none; border-radius:10px; background:var(--primary); color:#fff; font-size:14px; font-weight:700; cursor:pointer; font-family:inherit; white-space:nowrap; }
.backup-btn:hover { background:var(--primary-dark); }
.backup-btn-sub { background:#f2f4f6; color:var(--slate-800); }
.backup-btn-sub:hover { background:#e5e8eb; }
.backup-status { margin-top:12px; font-size:13px; color:#4e5968; min-height:18px; }
.backup-month { height:38px; padding:0 10px; border:1px solid #e5e8eb; border-radius:10px; font-size:14px; font-family:inherit; color:var(--slate-800); background:#fff; }
.backup-log:empty { display:none; }   /* 빈 목록은 section-body gap(12px)도 안 생기게 */
.backup-log { margin-top:-6px; padding:4px 10px; background:#f8fafc; border-radius:10px; }
.backup-log-row { display:flex; align-items:center; gap:10px; padding:7px 0; border-bottom:1px solid #eef0f3; font-size:12.5px; }
.backup-log-row:last-child { border-bottom:none; }
.backup-log-name { flex:1; min-width:0; color:var(--slate-800); word-break:break-all; }
.backup-log-date { color:#8b95a1; white-space:nowrap; font-size:12.5px; }
.backup-log-del { width:26px; height:26px; flex-shrink:0; border:none; border-radius:8px; background:#fef2f2; color:#dc2626; font-size:16px; line-height:1; cursor:pointer; }
.backup-log-del:hover { background:#fee2e2; }
/* 백업 열어보기 — 끌어다 놓기 칸 + 달·날짜+매장 묶음 목록 */
.bv-drop { display:flex; flex-direction:column; align-items:center; gap:4px; padding:18px 12px; border:1.5px dashed #c5d3e8; border-radius:12px; background:#fafcff; text-align:center; cursor:pointer; transition:background .15s, border-color .15s; }
.bv-drop:hover, .bv-drop.over { background:#eef4ff; border-color:var(--primary); }
.bv-drop strong { font-size:14px; font-weight:700; color:var(--slate-800); }
.bv-drop span { font-size:12px; color:#8b95a1; }
.bv-list:empty { display:none; }
.bv-list { border:1px solid #e5e8eb; border-radius:12px; overflow:hidden; }
.bv-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 12px; background:#f8fafc; border-bottom:1px solid #e5e8eb; font-size:13px; }
.bv-head b { color:var(--slate-800); word-break:break-all; }
.bv-head span { color:#6b7280; font-size:12px; }
.bv-close { margin-left:auto; width:26px; height:26px; border:none; border-radius:8px; background:#f2f4f6; color:#4e5968; font-size:16px; line-height:1; cursor:pointer; }
.bv-month { display:flex; align-items:center; gap:8px; padding:9px 12px; background:#eef4ff; border-top:2px solid #bfd3fe; font-size:14px; font-weight:800; color:#1e3a8a; }
.bv-month span { margin-left:auto; font-size:11.5px; font-weight:400; color:var(--slate-500); }
.bv-group { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:8px 12px; background:#f0f9ff; border-top:1px solid #e5e8eb; cursor:pointer; font-size:12px; }
.bv-chev { display:inline-flex; color:#1e40af; transform:rotate(-90deg); transition:transform .2s; }
.bv-group.open .bv-chev { transform:none; }
.bv-date { font-weight:600; color:#2563eb; white-space:nowrap; }
.bv-store { font-weight:700; color:#1e3a8a; }
.bv-cnt { margin-left:auto; font-size:11px; color:#94a3b8; white-space:nowrap; }
.bv-rows { display:none; }
.bv-rows.open { display:block; }
.bv-row { display:flex; align-items:center; gap:10px; padding:8px 12px 8px 32px; border-top:1px solid #f2f4f6; font-size:12.5px; }
.bv-no { font-weight:700; color:var(--slate-800); white-space:nowrap; }
.bv-content { flex:1; min-width:0; color:#374151; word-break:break-word; }
.bv-meta { display:inline-flex; align-items:center; gap:3px; font-size:11px; color:#6b7280; white-space:nowrap; }
.bv-msg { padding:14px 12px; font-size:13px; color:#4e5968; }
.bv-err { color:#dc2626; }
@media (max-width:640px) { .bv-row { flex-wrap:wrap; padding-left:16px; } .bv-row .og-btn { margin-left:auto; } .bv-content { flex-basis:100%; order:3; } }
.ext-dl { display:flex; align-items:center; justify-content:space-between; gap:10px; height:48px; padding:0 16px; border-radius:12px; background:var(--primary); color:#fff; font-size:15px; font-weight:700; text-decoration:none; }
.ext-dl:hover { background:var(--primary-dark); }
.ext-dl span { font-size:12px; font-weight:500; opacity:.8; }
.ext-steps { margin:12px 0 0; padding:0; list-style:none; counter-reset:s; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
.ext-steps li { counter-increment:s; position:relative; padding:10px 12px 10px 42px; font-size:13px; color:#333d4b; line-height:1.5; }
.ext-steps li + li { border-top:1px solid #eef0f3; }
.ext-steps li::before { content:counter(s); position:absolute; left:12px; top:11px; width:20px; height:20px; border-radius:50%; background:#e8f3ff; color:var(--primary); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.ext-copy { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; margin:0 2px; vertical-align:-6px; border:1px solid #e5e8eb; border-radius:6px; background:#fff; color:#6b7684; cursor:pointer; }
.ext-copy:hover, .ext-copy.done { color:var(--primary); border-color:var(--primary); }
.ext-note { margin-top:8px; font-size:12px; color:#8b95a1; }
@media (max-width:600px) { .backup-row { flex-wrap:wrap; } .backup-name { flex-basis:100%; } }
/* 일정 추가/수정 창 — 표 형식 (왼쪽 회색 머리칸, 칸 사이 1px 선) */
.dm-table { width:100%; border-collapse:separate; border-spacing:0; border:1px solid #e5e8eb; border-radius:10px; overflow:hidden; }
.dm-table th { width:64px; padding:10px 12px; background:#f9fafb; border-right:1px solid #eef0f3; font-size:12px; font-weight:700; color:#6b7684; text-align:left; vertical-align:middle; white-space:nowrap; }
.dm-table td { padding:10px 12px; vertical-align:middle; min-width:0; }
.dm-table tr + tr th, .dm-table tr + tr td { border-top:1px solid #eef0f3; }
.dm-table input[type=text] { width:100%; border:none; outline:none; padding:2px 0; font-size:16px; font-family:inherit; color:var(--slate-800); background:transparent; }
.dm-table input[type=text]::placeholder { color:var(--slate-400); }
.dm-table tr:has(input[type=text]:focus) td { background:var(--primary-light); }
.dm-hint { margin-top:6px; font-size:11px; color:#8b95a1; }
.dm-color-named { display:inline-flex; align-items:center; gap:4px; padding-right:4px; font-size:12px; font-weight:700; color:var(--slate-600); cursor:pointer; white-space:nowrap; }
.dm-cn-editor { margin-top:8px; padding:10px 12px; border:1px solid #eef0f3; border-radius:8px; background:#f9fafb; display:flex; flex-direction:column; gap:6px; }
.dm-cn-row { display:flex; align-items:center; gap:8px; }
.dm-cn-row > span { width:16px; height:16px; border-radius:50%; flex-shrink:0; }
.dm-table .dm-cn-row input[type=text] { flex:1; min-width:0; padding:5px 8px; font-size:14px; border:1px solid var(--gray-200); border-radius:6px; background:#fff; }
.dm-cn-btns { display:flex; justify-content:flex-end; gap:6px; margin-top:2px; }
.dm-cn-btns button { padding:5px 12px; border:1px solid var(--gray-300); border-radius:6px; background:#fff; font-size:12px; font-weight:700; font-family:inherit; cursor:pointer; }
.dm-cn-btns button.on { background:var(--primary); border-color:var(--primary); color:#fff; }
.dm-urgent { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:#dc2626; cursor:pointer; user-select:none; }
.dm-urgent input { width:16px; height:16px; margin:0; accent-color:#dc2626; cursor:pointer; }
.dm-content { display:flex; align-items:center; gap:10px; }
.dm-table .dm-content input[type=text] { flex:1; min-width:0; }
.dm-content .dm-urgent { flex-shrink:0; white-space:nowrap; }
.dm-workplan { color:#f97316; }
.dm-workplan input { accent-color:#f97316; }

/* 보고서조회 조회·선택 칸: 순회점검표 목록처럼 세로선으로 나눈 칸 */
.rf-table td { padding:0; vertical-align:middle; }
.rf-cells { display:flex; align-items:stretch; flex-wrap:wrap; min-height:40px; margin-left:-1px; }
.rf-cell { display:flex; align-items:center; gap:6px; min-height:40px; padding:0 14px; border:none; background:#fff; box-shadow:inset 1px 0 0 #eef0f3, 0 1px 0 #eef0f3; font-family:inherit; font-size:12.5px; font-weight:700; color:var(--slate-600); white-space:nowrap; position:relative; }
button.rf-cell { cursor:pointer; justify-content:center; }
button.rf-cell:hover, .rf-cell:has(> .rf-btn):hover { background:var(--slate-50); }
.rf-btn { display:flex; align-items:center; gap:5px; cursor:pointer; }
.rf-icon { padding:0 13px; color:var(--slate-500); }
.rf-count { color:#1e40af; font-size:12px; }
.rf-blue { color:var(--primary); font-weight:800; }
.rf-purple { color:#7c3aed; font-weight:800; }
.rf-purple:hover { background:#f5f3ff !important; }
.rf-green { color:#16a34a; font-weight:800; }
.rf-green:hover { background:#f0fdf4 !important; }
.rf-red { color:#f04452; }
.rf-pdf { color:#0369a1; font-weight:800; }
.rf-pdf:hover { background:#f0f9ff !important; }
.rf-toggle.on { color:var(--primary); background:var(--primary-light); }
.rf-toggle.on:hover { background:var(--primary-light) !important; }
.rf-red:hover { background:#feecee !important; }
.rf-select-cell { padding:0 6px; }
.rf-select-cell select { height:32px; padding:0 8px; border:none; background:transparent; font-family:inherit; font-size:12.5px; font-weight:700; color:var(--slate-600); cursor:pointer; outline:none; }
.rf-search { padding:0 12px; }
.rf-search input { width:130px; height:32px; border:none; outline:none; background:transparent; font-family:inherit; font-size:12.5px; color:var(--slate-700); }
@media (max-width:640px) {
  .rf-search { flex:1 1 100%; }
  .rf-search input { flex:1; width:auto; }
  /* 선택 줄 메뉴 묶음이 검색칸과 한 줄에 끼어 폭 0으로 눌리지 않게 한 줄 전체 차지 */
  #orderBulkActionBar, #repairBulkActionBar, #reportBulkActionBar { flex:1 1 100% !important; }
}
.rf-select-cell { padding-left:14px; gap:0; }
.rf-count svg { color:#1e40af; }
@media (min-width:641px) {
  /* 오더관리·보고서조회 목록은 세로선 없이 가로선만 — 칸이 덜 답답해 보이게 */
  #atab-orders .admin-table th + th, #atab-orders .admin-table td + td,
  #atab-reports .admin-table th + th, #atab-reports .admin-table td + td { border-left:none; }
}
@media (min-width:641px) {
  /* 오더관리·보고서조회: 요청자/작업자·오더날짜 칸은 글자 폭만큼만, 남는 폭은 작업 내용 칸으로 */
  #atab-orders .admin-table thead th:nth-child(4), #atab-orders .admin-table thead th:nth-child(5),
  #atab-reports .admin-table thead th:nth-child(4), #atab-reports .admin-table thead th:nth-child(5) { width:1% !important; padding-left:10px; padding-right:10px; }
  #atab-orders .admin-table tbody td:nth-child(4):not([colspan]), #atab-orders .admin-table tbody td:nth-child(5):not([colspan]),
  #atab-reports .admin-table tbody td:nth-child(4):not([colspan]), #atab-reports .admin-table tbody td:nth-child(5):not([colspan]) { white-space:nowrap; padding-left:10px; padding-right:10px; }
}

/* 보고서조회 월 제목 줄 — 줄 배경은 마우스오버해도 그대로, '전체 펼치기' 버튼만 색이 바뀜 */
#atab-reports .admin-table tr.rm-month-hdr:hover td { background:transparent; }
/* 글씨 세로 가운데: inline-flex로 가운데 맞추고, 한글 글꼴이 위로 떠 보이는 만큼 padding-top 1px */
.rm-all-btn { display:inline-flex; align-items:center; justify-content:center; padding:1px 10px 0; height:26px; box-sizing:border-box; line-height:1; border:1px solid #bfd3fe; background:var(--primary-light); border-radius:8px; cursor:pointer; font-size:11.5px; font-weight:700; color:var(--primary); white-space:nowrap; flex-shrink:0; transition:background .15s; }
.rm-all-btn:hover { background:#d4e6ff; }
/* 모바일: 월 제목 줄 두 줄로 — 1줄 '2026년 10월 … 전체 펼치기', 2줄 '일반 n건 · 미완료 n건 + 사진·용량' */
@media (max-width:640px) {
  .rm-month-btn { flex-wrap:wrap; row-gap:5px; }
  .rm-month-label { white-space:nowrap; }
  .rm-month-stats { margin-left:23px !important; flex-basis:calc(100% - 23px); flex-wrap:wrap; row-gap:4px; }
  .rm-month-stats > span:first-child { white-space:nowrap; }
  .rm-month-stats { column-gap:6px; }
  .rm-month-stats > span:last-child { margin-left:0 !important; }
}

/* 현장 작업자 화면 — 현장에서 보기·누르기 쉽게: 사진 삭제 띠 두껍게(사진 밖 위쪽 유지), 작은 글씨 키움, 뒤로가기·로그아웃 44px */
#maintenanceScreen .photo-thumb .photo-del, #repairScreen .photo-thumb .photo-del { height:28px; }
#maintenanceScreen .wk-back-btn, #repairScreen .wk-back-btn { width:44px; height:44px; border-radius:12px; }
#maintenanceScreen .wk-logout-btn, #repairScreen .wk-logout-btn { min-height:44px; font-size:14px; }
#maintenanceScreen .wk-worker-chip span:last-child, #repairScreen .wk-worker-chip span:last-child { font-size:14px; }
#maintenanceScreen .order-no-badge { font-size:14px; }
#maintenanceScreen .photo-chip { font-size:13px; padding:4px 10px; }
#maintenanceScreen .order-meta .o-work { font-size:15px; }
#maintenanceScreen .order-meta .o-desc { font-size:14px; }
#maintenanceScreen .order-desc-text { font-size:14px; }
#maintenanceScreen .ba-title, #repairScreen .ba-title { font-size:14px; }
#maintenanceScreen .ba-act-btn, #repairScreen .ba-act-btn { font-size:13px; }
#maintenanceScreen .oc-th { font-size:13px; }

/* ══ 하이웍스 작업계·롯데 제출문서·작업신청서 템플릿·승강기·작업자 명단 ══
   예전 ANP_Email_Work_Plan/mail_workplan.html(iframe)에서 옮김 (2026-10-22). 화면은 #wpRoot, 코드는 workplan.js
   iframe 이 좌우 16px 넓게 놓였던 것과 같게 #wpRoot 를 좌우 -16px 로 넓힘 */
#wpRoot { margin:0 -16px; }
#wpRoot * { box-sizing: border-box; margin: 0; padding: 0; }
#wpRoot {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #f0f2f5;
  min-height: 100vh;
  margin: 0;
}
#wpRoot #mainWrap { width: 100%; max-width: 820px; margin: 0 auto; padding-bottom: 80px; }
#wpRoot .wrap { display: flex; flex-direction: column; gap: 18px; padding: 18px 16px 0; }
/* 관리자패널 iframe 안: 폭 제한을 풀어 오더 관리·홈 카드 폭과 맞춤 (iframe이 좌우 16px 여백만큼 넓게 배치됨) */
/* 높이는 부모(관리자패널)가 내용에 맞추므로 안쪽 스크롤은 막음 */

#wpRoot { background: transparent; min-height: 0; }
#wpRoot #mainWrap { max-width: none; padding-bottom: 24px; }
#wpRoot .wrap { padding-top: 0; }
#wpRoot .tab-nav { background: #f2f4f6; }

#wpRoot .card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 14px rgba(0,0,0,0.07);
  padding: 28px 32px;
}
#wpRoot .card-title {
  font-size: 15px; font-weight: 700; color: #1a1a1a;
  margin-bottom: 16px; display: flex; align-items: center; gap: 8px;
}
#wpRoot .badge { font-size: 11px; font-weight: 600; background: #e8f3ff; color: #3182f6; padding: 3px 8px; border-radius: 10px; }

/* 필드 */
#wpRoot .wp-field-row { display: flex; gap: 12px; margin-bottom: 14px; flex-wrap: wrap; }
#wpRoot .wp-field-group { flex: 1; display: flex; flex-direction: column; gap: 5px; }
#wpRoot .time-sel { display: flex; align-items: center; gap: 6px; font-weight: 700; color: #6b7684; }
#wpRoot .time-sel select { flex: 1; min-width: 0; border: 1.5px solid #e5e8eb; border-radius: 10px; background: #fff; padding: 10px 12px; font-size: 14px; color: #1a1a1a; font-family: inherit; outline: none; font-variant-numeric: tabular-nums; }
#wpRoot .time-sel select:focus { border-color: #3182f6; }
#wpRoot label { font-size: 12px; font-weight: 600; color: #555; }
#wpRoot input[type="text"], #wpRoot input[type="date"], #wpRoot input[type="time"] {
  width: 100%; border: 1.5px solid #e0e0e0; border-radius: 8px;
  padding: 9px 12px; font-size: 14px; color: #1a1a1a;
  outline: none; transition: border-color 0.2s; background: #fafafa; font-family: inherit;
}
#wpRoot input:focus { border-color: #3182f6; background: #fff; }

/* 자동완성 */
#wpRoot .autocomplete-wrap { position: relative; }
#wpRoot .dropdown {
  position: absolute; top: calc(100% + 4px); left: 0;
  min-width: 280px;
  background: #fff; border: 1.5px solid #e5e8eb; border-radius: 10px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.1); z-index: 100;
  max-height: 220px; overflow-y: auto; display: none;
}
#wpRoot .dropdown.open { display: block; }
#wpRoot .dropdown-item {
  padding: 10px 14px; font-size: 13px; cursor: pointer;
  border-bottom: 1px solid #f0f0f0; display: flex; gap: 8px; align-items: center;
  white-space: nowrap;
}
#wpRoot .dropdown-item:last-child { border-bottom: none; }
#wpRoot .dropdown-item:hover { background: #e8f3ff; }
#wpRoot .dropdown-item .code { color: #3182f6; font-weight: 600; font-size: 12px; }
#wpRoot .dropdown-empty { padding: 12px 14px; font-size: 13px; color: #aaa; }

/* 작업자 */
#wpRoot .worker-list { display: flex; flex-direction: column; gap: 10px; }
#wpRoot .worker-row { display: grid; grid-template-columns: 100px 1fr 1fr 28px; gap: 8px; align-items: center; }
#wpRoot .worker-tag { grid-column: 1 / -1; font-size: 11px; color: #3182f6; font-weight: 600; margin-bottom: -4px; }
#wpRoot .add-worker-btn {
  margin-top: 4px; padding: 8px 14px; font-size: 13px;
  background: #e8f3ff; color: #3182f6; border: 1.5px dashed #b9d6fd;
  border-radius: 8px; cursor: pointer; font-weight: 500; width: 100%; transition: all 0.15s;
}
#wpRoot .add-worker-btn:hover { background: #e8f3ff; }
#wpRoot .remove-btn {
  width: 28px; height: 28px; background: #fff0f0; color: #e05;
  border: none; border-radius: 6px; font-size: 17px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}

/* ── 메일 미리보기 ── */
#wpRoot .preview-wrap {
  background: #f5f5f5;
  border-radius: 8px;
  padding: 20px;
}
#wpRoot .mail-card {
  background: #fff;
  border: 1px solid #ddd;
  font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  max-width: 600px;
  margin: 0;
  font-size: 14px;
  color: #222;
  line-height: 1.8;
}
#wpRoot .mail-header {
  border-bottom: 2px solid #222;
  padding: 20px 28px 16px;
}
#wpRoot .mail-logo {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #999;
  margin-bottom: 6px;
}
#wpRoot .mail-title {
  font-size: 17px;
  font-weight: 700;
  color: #111;
}
#wpRoot .mail-store-tag {
  font-size: 13px;
  color: #555;
  margin-top: 4px;
}
#wpRoot .mail-body { padding: 24px 28px; }
#wpRoot .mail-greeting {
  font-size: 14px;
  color: #333;
  line-height: 1.9;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e8e8e8;
}
#wpRoot .info-section { margin-bottom: 18px; }
#wpRoot .info-section-title {
  font-size: 11px;
  font-weight: 700;
  color: #999;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
#wpRoot .info-box {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
#wpRoot .info-row {
  display: flex;
  gap: 0;
  font-size: 13.5px;
  color: #222;
  border-bottom: 1px solid #ebebeb;
}
#wpRoot .info-row:last-child { border-bottom: none; }
#wpRoot .info-key {
  font-weight: 600;
  color: #555;
  white-space: nowrap;
  min-width: 80px;
  padding: 9px 14px;
  background: #f9f9f9;
  border-right: 1px solid #e8e8e8;
}
#wpRoot .info-val { padding: 9px 14px; color: #1a1a1a; }
#wpRoot .datetime-box {
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 14px 18px;
}
#wpRoot .datetime-date { font-size: 14px; font-weight: 700; color: #111; }
#wpRoot .datetime-time { font-size: 13px; color: #555; margin-top: 2px; }
#wpRoot .worker-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
#wpRoot .worker-table th {
  font-size: 11px; font-weight: 700; color: #888;
  text-align: left; padding: 7px 12px;
  border-bottom: 1px solid #ddd;
  background: #f9f9f9;
}
#wpRoot .worker-table td { padding: 9px 12px; border-bottom: 1px solid #ebebeb; color: #222; }
#wpRoot .worker-table tr:last-child td { border-bottom: none; }
#wpRoot .worker-table .leader-badge {
  font-size: 10px; font-weight: 700;
  background: #f0f0f0; color: #555;
  padding: 1px 6px; border-radius: 3px; margin-left: 5px;
}
#wpRoot .mail-note {
  border-top: 1px solid #e8e8e8;
  padding-top: 16px;
  font-size: 12px;
  color: #555;
  line-height: 1.7;
  margin-bottom: 16px;
}
#wpRoot .mail-footer {
  border-top: 1px solid #ddd;
  padding: 14px 28px;
  font-size: 12px;
  color: #888;
  line-height: 1.8;
}

/* 액션 */
#wpRoot .subject-display {
  background: #f0f2f5;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  color: #444;
  margin-bottom: 12px;
}
#wpRoot .subject-display span { color: #1a1a1a; font-weight: 600; }

#wpRoot .actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
#wpRoot .btn {
  flex: 1; padding: 13px; border-radius: 10px;
  font-size: 14px; font-weight: 600; cursor: pointer; border: none; transition: all 0.2s;
}
#wpRoot .btn-outline { background: #f0f2f5; color: #555; padding: 8px 10px; font-size: 12px; }
#wpRoot .btn-outline:hover { background: #e4e6eb; }
#wpRoot .btn-primary { background: #3182f6; color: #fff; }
#wpRoot .btn-primary:hover { background: #1b64da; }

#wpRoot .toast {
  position: fixed; bottom: 30px; left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #1a1a1a; color: #fff;
  padding: 10px 22px; border-radius: 24px;
  font-size: 14px; opacity: 0; pointer-events: none;
  transition: all 0.3s; white-space: nowrap; z-index: 999;
}
#wpRoot .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* 탭 네비게이션 */
#wpRoot .tab-nav {
  position: sticky; top: 0; z-index: 50;
  background: #f0f2f5;
  padding: 12px 16px 0;
  display: flex; gap: 4px;
  border-bottom: 2px solid #e0e3ea;
  margin-bottom: 18px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
#wpRoot .tab-nav::-webkit-scrollbar { display: none; }
#wpRoot .tab-nav-btn {
  padding: 10px 22px; font-size: 14px; font-weight: 600;
  border: none; border-radius: 8px 8px 0 0;
  background: transparent; color: #888; cursor: pointer;
  transition: all 0.15s; border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  flex-shrink: 0; white-space: nowrap;
}
#wpRoot .tab-nav-btn:hover { color: #3182f6; background: #e8f3ff; }
#wpRoot .tab-nav-btn.active { background: #fff; color: #3182f6; border-color: #3182f6; }

#wpRoot .type-btn {
  padding: 8px 18px; font-size: 13px; font-weight: 600;
  border: 1.5px solid #e0e0e0; border-radius: 8px;
  background: #fafafa; color: #888; cursor: pointer; transition: all 0.15s;
}
#wpRoot .type-btn:hover { background: #e8f3ff; border-color: #b9d6fd; color: #3182f6; }
#wpRoot .type-btn.active { background: #3182f6; color: #fff; border-color: #3182f6; }

#wpRoot .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 600px) {
  #wpRoot .card { padding: 20px 16px; }
  #wpRoot .upload-grid { grid-template-columns: 1fr; }
  #wpRoot .worker-row { grid-template-columns: 90px 1fr; }
  #wpRoot .worker-row input:nth-child(3) { grid-column: 1/3; }
  #wpRoot .mail-header, #wpRoot .mail-body { padding: 20px; }
  #wpRoot .tab-nav-btn { padding: 9px 14px; font-size: 12.5px; }
  #wpRoot .btn { flex: 1 1 45%; font-size: 12.5px; padding: 11px 6px; }

  /* 가로 스크롤 대신 셀을 줄바꿈하는 표(작업자명단/승강기/링크) */
  #wpRoot #dbTable, #wpRoot #elevatorTable, #wpRoot #quickLinkTable { min-width: 0 !important; }
  #wpRoot #dbTable thead, #wpRoot #elevatorTable thead, #wpRoot #quickLinkTable thead { display: none; }
  #wpRoot #dbTable tbody tr, #wpRoot #elevatorTable tbody tr, #wpRoot #quickLinkTable tbody tr {
    display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center;
    padding: 6px 2px; border-bottom: 1px solid #eee;
  }
  #wpRoot #dbTable tbody td, #wpRoot #elevatorTable tbody td, #wpRoot #quickLinkTable tbody td {
    display: block; flex: 1 1 80px; min-width: 50px; padding: 0 !important; border: none !important;
  }
  /* 컬럼별로 실제 내용 길이에 맞춰 너비를 다르게(데스크톱 표 너비값 재사용) */
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(1) { flex: 0 1 80px; }
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(2) { flex: 1 1 130px; }
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(3) { flex: 0 1 110px; }
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(4) { flex: 0 1 60px; }
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(5) { flex: 0 1 64px; }
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(6) { flex: 1 1 110px; }
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(7) { flex: 0 0 30px; min-width: 30px; }

  #wpRoot #elevatorTable tbody td:nth-child(1) { flex: 0 1 72px; }
  #wpRoot #elevatorTable tbody td:nth-child(2) { flex: 0 1 130px; }
  #wpRoot #elevatorTable tbody td:nth-child(3) { flex: 1 1 120px; }
  #wpRoot #elevatorTable tbody td:nth-child(4) { flex: 0 1 130px; }
  #wpRoot #elevatorTable tbody td:nth-child(5) { flex: 0 0 30px; min-width: 30px; }

  #wpRoot #quickLinkTable tbody td:nth-child(1) { flex: 0 1 130px; }
  #wpRoot #quickLinkTable tbody td:nth-child(2) { flex: 1 1 140px; }
  #wpRoot #quickLinkTable tbody td:nth-child(3) { flex: 0 0 30px; min-width: 30px; }
  #wpRoot #quickLinkTable tbody td:nth-child(4) { flex: 0 0 30px; min-width: 30px; }
}

/* 안전관리 매뉴얼 (롯데백화점) */
#wpRoot #tabPanel_safety select, #wpRoot #tabPanel_safety textarea {
  width: 100%; border: 1.5px solid #e0e0e0; border-radius: 8px; padding: 9px 12px;
  font-size: 14px; color: #1a1a1a; background: #fafafa; font-family: inherit; outline: none;
}
#wpRoot #tabPanel_safety textarea { height: 58px; resize: vertical; }
#wpRoot #tabPanel_safety select:focus, #wpRoot #tabPanel_safety textarea:focus { border-color: #3182f6; background: #fff; }
#wpRoot .sf-note { font-size: 12px; color: #888; margin: -8px 0 16px; line-height: 1.5; }
#wpRoot .sf-sec { font-size: 13px; font-weight: 700; color: #333; margin: 18px 0 10px; }
#wpRoot .sf-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px 12px; }
#wpRoot .sf-grid .wide { grid-column: 1 / -1; }
#wpRoot .sf-grid label, #wpRoot .sf-rrow label { display: flex; flex-direction: column; gap: 5px; }
#wpRoot .sf-equip { display: flex; flex-wrap: wrap; gap: 8px 18px; }
#wpRoot .sf-equip label { display: flex; align-items: center; gap: 6px; }
#wpRoot #tabPanel_safety .sf-equip input { width: 52px; padding: 7px 6px; text-align: center; }
#wpRoot .sf-checks { display: flex; flex-wrap: wrap; gap: 8px; }
#wpRoot .sf-checks label { display: flex; align-items: center; gap: 6px; border: 1.5px solid #e0e0e0; border-radius: 20px; padding: 6px 14px; font-size: 13px; cursor: pointer; background: #fafafa; }
#wpRoot .sf-checks input { width: auto; }
/* 작업내용 칸(2fr)을 1.2fr + 0.8fr 두 칸으로 나눔: 1줄 작업내용은 두 칸을 합쳐 쓰고, 2줄은 그 사이에서 갈라 개선조치 칸을 더 넓게 */
#wpRoot .sf-rrow { display: grid; grid-template-columns: 22px 1fr 1.2fr 0.8fr 60px 1.3fr 70px; gap: 8px 10px; padding: 12px 0; border-top: 1px solid #eee; }
@media (min-width: 601px) { #wpRoot .sf-rrow > label:nth-of-type(2), #wpRoot .sf-rhead > span:nth-child(3) { grid-column: span 2; } }
#wpRoot .sf-rrow:first-child { border-top: 0; padding-top: 0; }
#wpRoot .sf-rrow .no { grid-row: span 2; font-weight: 700; color: #aaa; padding-top: 26px; }
#wpRoot .sf-rrow .haz { grid-column: 2 / 4; } #wpRoot .sf-rrow .act { grid-column: 4 / 8; }
#wpRoot .sf-prow { display: grid; grid-template-columns: 110px 60px 1fr 1.4fr auto; gap: 8px; align-items: start; margin-top: 8px; }
#wpRoot .sf-btn { border: 1.5px solid #e0e0e0; border-radius: 8px; background: #fafafa; color: #555; padding: 7px 14px; font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: inherit; }
#wpRoot .sf-btn.primary { background: #3182f6; border-color: #3182f6; color: #fff; }
#wpRoot #tabPanel_safety details { margin-top: 14px; border-top: 1px solid #eee; padding-top: 12px; }
#wpRoot #tabPanel_safety summary { cursor: pointer; font-size: 13px; font-weight: 700; color: #3182f6; }
@media (max-width: 600px) {
  #wpRoot .sf-rrow { grid-template-columns: 1fr 1fr; }
  #wpRoot .sf-rrow .no { grid-row: auto; grid-column: 1 / -1; padding: 0; }
  #wpRoot .sf-rrow .haz, #wpRoot .sf-rrow .act { grid-column: 1 / -1; }
  #wpRoot .sf-prow { grid-template-columns: 1fr 70px; } #wpRoot .sf-prow textarea { grid-column: 1 / -1; }
}
/* ── 관리자패널(현장보고 시스템) 디자인에 맞춤 ── */
#wpRoot { font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: #191f28; -webkit-font-smoothing: antialiased; }
#wpRoot .card { border: 1px solid #e5e8eb; border-radius: 16px; box-shadow: 0 1px 2px rgba(25,31,40,.04), 0 8px 20px rgba(25,31,40,.04); padding: 0 16px 16px; min-width: 0; }
#wpRoot .card-title { margin: 0 -16px 14px; padding: 12px 16px; border-bottom: 1px solid #f2f4f6; font-size: 16px; color: #4e5968; letter-spacing: -0.01em; }
#wpRoot .wp-s-icon { width: 26px; height: 26px; border-radius: 7px; background: #e8f3ff; color: #3182f6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
#wpRoot .sub-title { font-size: 13px; font-weight: 700; color: #4e5968; margin: 4px 0 10px; }
#wpRoot label { color: #6b7684; }
#wpRoot input[type="text"], #wpRoot input[type="date"], #wpRoot input[type="time"], #wpRoot #tabPanel_safety select, #wpRoot #tabPanel_safety textarea {
  border: 1.5px solid #e5e8eb; border-radius: 10px; background: #fff; padding: 10px 12px;
}
#wpRoot input[readonly] { background: #f9fafb !important; color: #6b7684 !important; }
#wpRoot .btn-outline { background: #f2f4f6; color: #4e5968; }
#wpRoot .btn-outline:hover { background: #e5e8eb; }
#wpRoot .type-btn { border: 1.5px solid #e5e8eb; border-radius: 10px; background: #fff; color: #6b7684; }
#wpRoot .add-worker-btn { border-radius: 10px; }
#wpRoot .preview-wrap, #wpRoot .subject-display { background: #f2f4f6; border-radius: 12px; }
#wpRoot .sf-btn { border-color: #e5e8eb; background: #fff; border-radius: 10px; }
#wpRoot .sf-checks label { border-color: #e5e8eb; background: #fff; }

/* 탭: 관리자패널 필터 버튼 모양 */
#wpRoot .tab-nav { background: #f2f4f6; padding: 0 16px 14px; margin-bottom: 0; border-bottom: none; gap: 6px; }
#wpRoot .tab-nav-btn { padding: 8px 16px; font-size: 13.5px; border: 1px solid #e5e8eb; border-radius: 10px; background: #fff; color: #6b7684; margin: 0; }
#wpRoot .tab-nav-btn:hover { background: #e8f3ff; color: #3182f6; }
#wpRoot .tab-nav-btn.active { background: #3182f6; color: #fff; border-color: #3182f6; }

/* 배치: 카드 사이 간격 14px, 넓은 화면에서는 2열 */
#wpRoot #tabPanel_mail, #wpRoot #tabPanel_safety, #wpRoot #tabPanel_stores, #wpRoot #tabPanel_elevators, #wpRoot #tabPanel_history, #wpRoot #tabPanel_manage { display: grid; gap: 14px; align-items: start; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) {
  #wpRoot #tabPanel_mail { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); grid-template-rows: auto auto 1fr auto; grid-template-areas: "type preview" "store preview" "worker preview" "action action"; }   /* 왼쪽 입력(유형·매장·작업자) | 오른쪽 미리보기 (미리보기를 조금 넓게) */
  #wpRoot .mail-type-card { grid-area: type; } #wpRoot .mail-store-card { grid-area: store; }
  #wpRoot .mail-worker-card { grid-area: worker; } #wpRoot .mail-preview-card { grid-area: preview; } #wpRoot .mail-action-card { grid-area: action; }
  #wpRoot .mail-worker-card .worker-row { grid-template-columns: 84px 1.1fr 0.9fr 30px; }   /* 왼쪽이 좁아져서 이름칸 줄이고 전화번호칸 넓게 */
  #wpRoot .mail-store-card .wp-field-row { display: grid; grid-template-columns: 1fr 1fr; }
  #wpRoot .mail-preview-card .mail-card { margin: 0 auto; zoom: 0.75; }   /* PC 미리보기는 75%로 줄여서 세로로 길어 보이지 않게 (이미지 저장 때는 100%로 캡처) */
  #wpRoot #tabPanel_elevators { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #wpRoot .elev-table-card { grid-column: 1 / -1; }
}
@media (max-width: 600px) { #wpRoot .card { padding: 0 16px 16px; } }
/* 작업자 명단 관리 표 (관리자패널 표 스타일) */
#wpRoot #dbTable, #wpRoot #elevatorTable, #wpRoot #quickLinkTable { border-collapse: separate !important; border-spacing: 0; }
#wpRoot #dbTable thead th, #wpRoot #elevatorTable thead th, #wpRoot #quickLinkTable thead th { background: #f9fafb !important; color: #6b7684 !important; font-size: 11px !important; padding: 9px 8px !important; border-bottom: 1px solid #e5e8eb !important; }
#wpRoot #dbTable td.wk-group { padding: 10px 8px; background: #fff; border-top: 1px solid #e5e8eb; cursor: pointer; }
#wpRoot #dbTable tr:first-child td.wk-group { border-top: none; }
#wpRoot .wk-group-in { display: flex; align-items: center; gap: 6px; }
#wpRoot .wk-arrow { display: flex; color: #8b95a1; transition: transform .15s; flex-shrink: 0; }
#wpRoot .wk-arrow.open { transform: rotate(90deg); color: #3182f6; }
#wpRoot #dbTable .wk-group-name { flex: 1; min-width: 0; border: 1.5px solid transparent; border-radius: 8px; padding: 6px 8px; font-size: 15px; font-weight: 700; color: #191f28; background: transparent; font-family: inherit; outline: none; }
#wpRoot #dbTable .wk-group-name:hover { background: #f9fafb; }
#wpRoot #dbTable .wk-group-name:focus { border-color: #3182f6; background: #fff; }
#wpRoot .wk-grip { display: flex; align-items: center; justify-content: center; width: 22px; height: 30px; color: #b0b8c1; cursor: grab; touch-action: none; flex-shrink: 0; border-radius: 6px; }
#wpRoot .wk-grip:hover { color: #6b7684; background: #f2f4f6; }
#wpRoot #dbTable tr.wk-dragging td { opacity: .45; }
#wpRoot #dbTable tr.wk-drop-before td { box-shadow: inset 0 3px 0 #3182f6; }
#wpRoot #dbTable tr.wk-drop-after td { box-shadow: inset 0 -3px 0 #3182f6; }
#wpRoot .wk-count { font-size: 11px; font-weight: 600; color: #6b7684; background: #f2f4f6; border-radius: 20px; padding: 2px 9px; flex-shrink: 0; }
#wpRoot .wk-icon-btn { width: 30px; height: 30px; border: 1px solid #e5e8eb; border-radius: 8px; background: #fff; color: #6b7684; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 16px; line-height: 1; flex-shrink: 0; }
#wpRoot .wk-icon-btn:hover { background: #f2f4f6; }
#wpRoot .wk-icon-btn.wk-del { border-color: transparent; background: #feecee; color: #f04452; }
#wpRoot .wk-icon-btn.wk-del:hover { background: #fdd8dc; }
#wpRoot #dbTable td.wk-td, #wpRoot #elevatorTable td.wk-td, #wpRoot #quickLinkTable td.wk-td { padding: 4px; }
#wpRoot #dbTable tr.wk-row:hover td, #wpRoot #elevatorTable tr.wk-row:hover td, #wpRoot #quickLinkTable tr.wk-row:hover td { background: #f9fafb; }
#wpRoot #dbTable .wk-input, #wpRoot #elevatorTable .wk-input, #wpRoot #quickLinkTable .wk-input { width: 100%; height: 34px; border: 1.5px solid #e5e8eb; border-radius: 8px; padding: 0 9px; font-size: 13px; color: #191f28; background: #fff; font-family: inherit; outline: none; }
#wpRoot #dbTable select.wk-input { padding: 0 2px 0 8px; }
#wpRoot #dbTable .wk-input:focus, #wpRoot #elevatorTable .wk-input:focus, #wpRoot #quickLinkTable .wk-input:focus { border-color: #3182f6; }
#wpRoot .wk-icon-btn.wk-go { border-color: transparent; background: #e8f3ff; color: #3182f6; text-decoration: none; }
#wpRoot .wk-icon-btn.wk-go:hover { background: #d6e8ff; }
/* 추가 버튼(매장/링크/작업자) 공통: 회색 점선 */
#wpRoot .add-worker-btn { height: 34px; padding: 0 14px; border: 1.5px dashed #d1d6db; background: none; color: #6b7684; font-size: 12.5px; font-weight: 600; font-family: inherit; }
#wpRoot .add-worker-btn:hover { border-color: #3182f6; color: #3182f6; background: #e8f3ff; }
/* 승강기 점검 D-Day 현황 */
#wpRoot .dd-row { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid #f2f4f6; }
#wpRoot .dd-row:last-child { border-bottom: none; }
#wpRoot .dd-name { width: 130px; flex: none; font-size: 13px; font-weight: 600; color: #333d4b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#wpRoot .dd-bar { flex: 1; height: 8px; background: #f2f4f6; border-radius: 4px; overflow: hidden; }
#wpRoot .dd-bar > div { height: 100%; border-radius: 4px; }
#wpRoot .dd-label { width: 78px; flex: none; text-align: right; }
#wpRoot .dd-pill { display: inline-block; font-size: 11.5px; font-weight: 700; border-radius: 20px; padding: 3px 9px; white-space: nowrap; }
#wpRoot .dd-empty { font-size: 13px; color: #8b95a1; text-align: center; padding: 16px 0; }
/* 롯데 안전관리 매뉴얼 (카드 분리 + 관리자패널 스타일) */
/* 접는 카드 제목(지점별 기본값·재해형태별 기본값 관리): 단어 중간에서 안 끊기게, 좁은 화면에선 줄바꿈된 글자 폭에 딱 맞춰 설명과 간격 같게 */
#wpRoot .sf-ttl { word-break: keep-all; }
@media (max-width: 600px) { #wpRoot .sf-ttl { flex: none; width: min-content; } }
#wpRoot .card-sub { font-size: 12px; font-weight: 500; color: #8b95a1; margin-left: 4px; letter-spacing: 0; }
#wpRoot #tabPanel_safety .sf-note { margin: 0 0 12px; color: #8b95a1; }
#wpRoot #tabPanel_safety .sf-grid { gap: 12px; }
#wpRoot #tabPanel_safety .sf-grid label, #wpRoot #tabPanel_safety .sf-rrow label { font-size: 12px; font-weight: 600; color: #6b7684; }
#wpRoot #tabPanel_safety select { height: 42px; }
#wpRoot #tabPanel_safety textarea { border-radius: 10px; }
/* 작업유형: 테두리 없이 체크박스 + 글자만 */
#wpRoot .sf-checks { gap: 6px 18px; }
#wpRoot .sf-checks label { padding: 4px 0; font-size: 13.5px; font-weight: 600; color: #6b7684; border: none; border-radius: 0; background: none; }
#wpRoot .sf-checks label:has(input:checked) { color: #191f28; }
#wpRoot .sf-checks input { accent-color: #3182f6; width: 15px; height: 15px; margin: 0; }
#wpRoot #tabPanel_safety .sf-equip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#wpRoot #tabPanel_safety .sf-equip label { justify-content: space-between; gap: 8px; background: #f9fafb; border-radius: 10px; padding: 6px 6px 6px 12px; font-size: 13px; font-weight: 600; color: #4e5968; }
#wpRoot #tabPanel_safety .sf-equip input { width: 56px; height: 34px; padding: 0 6px; text-align: center; flex: none; }
#wpRoot #tabPanel_safety .sf-prow { padding: 10px 0; border-top: 1px solid #f2f4f6; margin-top: 0; }
#wpRoot #tabPanel_safety .sf-prow:first-child { border-top: none; }
#wpRoot .sf-btn { height: 34px; padding: 0 14px; border: 1.5px solid #e5e8eb; border-radius: 10px; background: #fff; color: #4e5968; }
#wpRoot .sf-btn:hover { background: #f2f4f6; }
#wpRoot .sf-btn.primary { background: #3182f6; border-color: #3182f6; color: #fff; }
#wpRoot .sf-btn.primary:hover { background: #1b64da; }
#wpRoot .sf-prow .sf-btn { border-color: transparent; background: #feecee; color: #f04452; }
/* 기본값 관리: 카드 제목줄을 눌러 펼치기 */
#wpRoot #tabPanel_safety details { margin: 0; border: none; padding: 0; }
#wpRoot #tabPanel_safety summary.card-title { list-style: none; cursor: pointer; color: #4e5968; font-size: 16px; }
#wpRoot #tabPanel_safety summary.card-title::-webkit-details-marker { display: none; }
#wpRoot #tabPanel_safety details:not([open]) > summary.card-title { border-bottom: none; margin-bottom: -16px; }
#wpRoot .sf-chev { margin-left: auto; color: #8b95a1; transition: transform .15s; flex-shrink: 0; }
#wpRoot #tabPanel_safety details[open] .sf-chev { transform: rotate(180deg); }
#wpRoot .sf-actions { display: flex; justify-content: flex-end; }
#wpRoot .sf-download { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 26px; border: none; border-radius: 12px; background: #3182f6; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; font-family: inherit; box-shadow: 0 4px 12px rgba(49,130,246,.25); }
#wpRoot .sf-download:hover { background: #1b64da; }
@media (min-width: 760px) {
  /* 지점 선택(첫 칸) 옆에 작업명/공사명을 나머지 폭으로 한 줄에 */
  #wpRoot #tabPanel_safety .sf-grid .wide { grid-column: 2 / -1; }
  /* 작업일(시작)~작업인원 5칸을 한 줄에 */
  #wpRoot #tabPanel_safety .sf-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  #wpRoot #tabPanel_safety { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #wpRoot #tabPanel_safety .sf-full { grid-column: 1 / -1; }
}
@media (max-width: 600px) { #wpRoot .sf-download { width: 100%; justify-content: center; } }
/* 작업계 메일 작성 폼 */
#wpRoot .type-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; background: #f2f4f6; border-radius: 12px; padding: 4px; }
#wpRoot .type-seg .type-btn { border: none; border-radius: 9px; background: transparent; color: #6b7684; padding: 9px 6px; font-size: 13.5px; font-family: inherit; white-space: nowrap; }
#wpRoot .type-seg .type-btn:hover { background: rgba(255,255,255,.6); color: #333d4b; border: none; }
#wpRoot .type-seg .type-btn.active { background: #fff; color: #3182f6; box-shadow: 0 1px 3px rgba(25,31,40,.12); }
#wpRoot .wp-field-row { gap: 10px; }
#wpRoot .dropdown { border: 1px solid #e5e8eb; border-radius: 12px; box-shadow: 0 12px 32px rgba(25,31,40,.12); padding: 4px; }
#wpRoot .dropdown-item { border-bottom: none; border-radius: 8px; padding: 9px 10px; }
#wpRoot .dropdown-item:hover { background: #f2f4f6; }
#wpRoot .info-box { border-radius: 10px; padding: 10px 14px; font-size: 13px; margin-bottom: 10px; line-height: 1.5; }
#wpRoot .info-blue { background: #e8f3ff; color: #1b64da; }
#wpRoot .info-amber { background: #fff5dc; color: #8a5a00; }
#wpRoot .worker-list { gap: 8px; margin-bottom: 10px; }
#wpRoot .worker-row { grid-template-columns: 96px 1fr 1fr 30px; gap: 6px; }
#wpRoot .worker-tag { justify-self: start; background: #e8f3ff; color: #3182f6; border-radius: 20px; padding: 2px 9px; margin-bottom: -2px; }
#wpRoot .remove-btn { width: 30px; height: 30px; border-radius: 8px; background: #feecee; color: #f04452; font-size: 16px; }
#wpRoot .remove-btn:hover { background: #fdd8dc; }
#wpRoot .subject-display { color: #6b7684; }
#wpRoot .subject-display span { color: #191f28; }
#wpRoot .attach-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
#wpRoot .actions { gap: 8px; margin-top: 12px; align-items: center; }
#wpRoot .actions .btn { flex: 0 0 auto; height: 40px; padding: 0 14px; font-size: 13px; border-radius: 10px; font-family: inherit; }
#wpRoot .actions .btn-outline { background: #fff; border: 1.5px solid #e5e8eb; color: #4e5968; }
#wpRoot .actions .btn-outline:hover { background: #f2f4f6; }
#wpRoot .mail-action-card .actions { justify-content: flex-end; }
#wpRoot .mail-action-card .actions .btn { height: 44px; }
#wpRoot .mail-action-card .hiworks-note { display: inline-flex; align-items: flex-start; gap: 6px; flex: 1 1 0; min-width: 0; margin-right: auto; font-size: 13.5px; color: #8b95a1; text-align: left; word-break: keep-all; }   /* 버튼 줄 맨 앞, 왼쪽 정렬 */
#wpRoot .mail-action-card .hiworks-note svg { flex: none; width: 15px; height: 15px; margin-top: 2px; color: #b0b8c1; }
@media (max-width: 600px) { #wpRoot .mail-action-card .hiworks-note { flex: 1 1 100%; } }
#wpRoot .actions .btn-hiworks { height: 44px; padding: 0 24px; font-size: 14.5px; font-weight: 700; background: #3182f6; color: #fff; box-shadow: 0 4px 12px rgba(49,130,246,.25); }
#wpRoot .actions .btn-hiworks:hover { background: #1b64da; }
@media (max-width: 600px) {
  #wpRoot .worker-row { grid-template-columns: 90px 1fr 30px; }
  #wpRoot .worker-row input:nth-child(3) { grid-column: auto; }
  #wpRoot .worker-row > input:last-of-type { grid-column: 1 / 3; }  /* 차량번호는 둘째 줄, 빼기 버튼은 그 오른쪽 */
  #wpRoot .actions .btn-outline { flex: 1 1 45%; }
  #wpRoot .actions .btn-hiworks { flex: 1 1 100%; margin-left: 0; }
}
/* 매장 관리 */
#wpRoot .st-card { background: #fff; border: 1px solid #e5e8eb; border-radius: 12px; padding: 10px; margin-bottom: 8px; }
#wpRoot .st-card:hover { border-color: #d1d6db; }
#wpRoot .st-top { display: flex; gap: 6px; align-items: center; }
#wpRoot #storeTableBody .st-in { height: 36px; border: 1.5px solid #e5e8eb; border-radius: 8px; padding: 0 10px; font-size: 13px; color: #191f28; background: #fff; font-family: inherit; outline: none; width: 100%; min-width: 0; }
#wpRoot #storeTableBody .st-in:focus { border-color: #3182f6; }
#wpRoot #storeTableBody .st-name { flex: 0 0 170px; font-weight: 600; }
#wpRoot #storeTableBody .st-email { flex: 1; }
#wpRoot .st-kind { display: flex; gap: 2px; background: #f2f4f6; border-radius: 9px; padding: 3px; flex-shrink: 0; }
#wpRoot .store-kind-btn { border: none; border-radius: 7px; height: 30px; padding: 0 12px; font-size: 12px; font-weight: 600; background: transparent; color: #6b7684; cursor: pointer; font-family: inherit; }
#wpRoot .store-kind-btn.active { background: #fff; color: #3182f6; box-shadow: 0 1px 3px rgba(25,31,40,.12); }
#wpRoot .st-toggle svg { transition: transform .15s; }
#wpRoot .st-toggle.open { background: #e8f3ff; border-color: transparent; color: #3182f6; }
#wpRoot .st-toggle.open svg { transform: rotate(180deg); }
#wpRoot .st-detail { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #f2f4f6; }
#wpRoot .st-field { display: flex; flex-direction: column; gap: 4px; }
#wpRoot .st-field > span { font-size: 11.5px; font-weight: 600; color: #8b95a1; }
#wpRoot .st-notes { grid-column: 1 / -1; }
#wpRoot #storeTableBody .st-notes .st-in { border-color: #ffe4a3; background: #fffaeb; }
#wpRoot .st-group { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #4e5968; padding: 14px 2px 8px; }
#wpRoot .st-group svg { color: #8b95a1; }
/* 발송 이력 */
#wpRoot .sf-btn.danger { border-color: transparent; background: #feecee; color: #f04452; }
#wpRoot .sf-btn.danger:hover { background: #fdd8dc; }
#wpRoot .badge { background: #f2f4f6; color: #6b7684; border-radius: 20px; padding: 2px 9px; }
#wpRoot .hs-row { display: flex; align-items: center; gap: 10px; padding: 12px 4px; border-bottom: 1px solid #f2f4f6; }
#wpRoot .hs-row:last-child { border-bottom: none; }
#wpRoot .hs-row:hover { background: #f9fafb; }
#wpRoot .hs-main { flex: 1; min-width: 0; }
#wpRoot .hs-title { font-size: 14px; font-weight: 700; color: #191f28; margin-bottom: 3px; }
#wpRoot .hs-code { font-size: 12px; font-weight: 500; color: #8b95a1; }
#wpRoot .hs-meta { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12.5px; color: #4e5968; }
#wpRoot .hs-type { font-weight: 600; color: #3182f6; }
#wpRoot .hs-sent { color: #b0b8c1; }
@media (max-width: 600px) {
  #wpRoot .st-top { flex-wrap: wrap; }
  #wpRoot #storeTableBody .st-name { flex: 1 1 100%; }
  #wpRoot #storeTableBody .st-email { flex: 1 1 100%; }
  #wpRoot .st-kind { margin-right: auto; }
}
/* 작업유형(위) · 사용 장비(아래) 한 카드 */
#wpRoot .sf-pair { display: flex; flex-direction: column; gap: 16px; }
#wpRoot .sf-pair > div + div { border-top: 1px solid #f2f4f6; padding-top: 14px; }
/* 사용 장비: 이름 위, 숫자칸 아래로 세워서 넓은 화면에서는 8개를 한 줄에 */
#wpRoot #tabPanel_safety .sf-pair .sf-equip { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 6px; }
#wpRoot #tabPanel_safety .sf-pair .sf-equip label { flex-direction: column; align-items: stretch; justify-content: space-between; gap: 6px; padding: 8px; text-align: center; font-size: 12px; line-height: 1.3; word-break: keep-all; }
#wpRoot #tabPanel_safety .sf-pair .sf-equip input { width: 100%; }
@media (min-width: 760px) { #wpRoot #tabPanel_safety .sf-pair .sf-equip { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
/* 사용 장비 수량: 표 한 줄처럼 (회색 이름칸 + 숫자칸, 칸 사이는 1px 선). 모바일은 4칸씩 2줄 */
#wpRoot #tabPanel_safety .sf-pair .sf-equip { gap: 1px; background: #eef0f3; border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; }
@media (max-width: 759px) { #wpRoot #tabPanel_safety .sf-pair .sf-equip { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
#wpRoot #tabPanel_safety .sf-pair .sf-equip label { padding: 0; gap: 0; background: #fff; border-radius: 0; justify-content: flex-start; }
#wpRoot #tabPanel_safety .sf-eq-name { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 36px; padding: 4px; background: #f9fafb; border-bottom: 1px solid #eef0f3; font-size: 11.5px; font-weight: 700; color: #6b7684; }
#wpRoot #tabPanel_safety .sf-pair .sf-equip input { height: 40px; border: none; border-radius: 0; background: #fff; font-size: 15px; font-weight: 600; color: #191f28; }
#wpRoot #tabPanel_safety .sf-pair .sf-equip input:focus { background: #e8f3ff; }
/* 기본 정보도 같은 표 모양: 회색 이름칸 + 테두리 없는 입력칸. PC 1줄 지점|작업명, 2줄 5칸 / 모바일 2칸씩 */
#wpRoot #tabPanel_safety .sf-grid.sf-table { gap: 1px; background: #eef0f3; border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#wpRoot #tabPanel_safety .sf-table > label:first-child, #wpRoot #tabPanel_safety .sf-table > label:last-child { grid-column: 1 / -1; }
#wpRoot #tabPanel_safety .sf-table .wide { grid-column: 1 / -1; }
@media (min-width: 760px) {
  #wpRoot #tabPanel_safety .sf-grid.sf-table { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  #wpRoot #tabPanel_safety .sf-table > label:first-child, #wpRoot #tabPanel_safety .sf-table > label:last-child { grid-column: auto; }
  #wpRoot #tabPanel_safety .sf-table .wide { grid-column: 2 / -1; }
}
#wpRoot #tabPanel_safety .sf-table label { gap: 0; background: #fff; }
#wpRoot #tabPanel_safety .sf-table .sf-eq-name { flex: none; justify-content: flex-start; min-height: 32px; padding: 4px 12px; }
#wpRoot #tabPanel_safety .sf-table input, #wpRoot #tabPanel_safety .sf-table select { height: 42px; border: none; border-radius: 0; background: #fff; font-size: 14px; color: #191f28; }
#wpRoot #tabPanel_safety .sf-table input:focus, #wpRoot #tabPanel_safety .sf-table select:focus { background: #e8f3ff; }
/* 위험성 평가표: 머리줄 한 번 + 행마다 1줄(짧은 항목) / 2줄(유해·위험요인, 개선조치) */
#wpRoot .sf-rhead { display: none; }
#wpRoot #tabPanel_safety .sf-rrow { gap: 6px 8px; padding: 10px 0; margin: 0; background: none; border-radius: 0; border-top: 1px solid #f2f4f6; align-items: start; }
#wpRoot #tabPanel_safety .sf-rrow:first-child { border-top: none; }
#wpRoot #tabPanel_safety .sf-rrow .no { grid-row: span 2; align-self: start; margin-top: 10px; width: 22px; height: 22px; border-radius: 50%; background: #e8f3ff; color: #3182f6; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; padding: 0; }
#wpRoot #tabPanel_safety .sf-rrow input, #wpRoot #tabPanel_safety .sf-rrow select { height: 40px; }
#wpRoot #tabPanel_safety .sf-rrow input[data-c="2"], #wpRoot #tabPanel_safety .sf-rrow input[data-c="5"] { text-align: center; padding: 0 4px; }
/* 지점 선택 시 자동 입력 안내 문구는 입력값과 헷갈리지 않게 더 흐리게 */
#wpRoot #sfWork::placeholder, #wpRoot #sfPeople::placeholder, #wpRoot #sfRisk input[data-r="0"][data-c="0"]::placeholder, #wpRoot #sfRisk input[data-r="0"][data-c="1"]::placeholder { color: #c4c9d0; }
#wpRoot #tabPanel_safety .sf-rrow textarea { height: 64px; font-size: 13px; line-height: 1.45; }
#wpRoot .sf-lbl { font-size: 11.5px; font-weight: 600; color: #8b95a1; }
@media (min-width: 760px) {
  #wpRoot .sf-rhead { display: grid; grid-template-columns: 22px 1fr 1.2fr 0.8fr 60px 1.3fr 70px; gap: 8px; padding: 8px 0; margin-bottom: 2px; background: #f9fafb; border-radius: 8px; font-size: 11px; font-weight: 700; color: #6b7684; }
  #wpRoot .sf-rhead span:not(:first-child) { padding-left: 4px; }
  /* 머리줄이 있으니 짧은 항목의 행별 라벨은 숨김 (유해·위험요인, 개선조치 라벨은 유지) */
  #wpRoot #tabPanel_safety .sf-rrow label:not(.haz):not(.act) .sf-lbl { display: none; }
  #wpRoot #tabPanel_safety .sf-rrow label:not(.haz):not(.act) { gap: 0; }
  #wpRoot #tabPanel_safety .sf-rrow label.haz, #wpRoot #tabPanel_safety .sf-rrow label.act { gap: 4px; }
  #wpRoot #tabPanel_safety .sf-rrow .no { margin-top: 9px; }
}
/* 메일 미리보기: 발송 HTML을 그대로 보여주므로 바깥 틀은 투명 */
#wpRoot .mail-card { border: none; background: transparent; max-width: 600px; margin: 0 auto; line-height: normal; }
/* 지점별 참고사항 */
#wpRoot .sf-branch-note { margin-top: 14px; }
#wpRoot .sf-bn-head { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #4e5968; margin-bottom: 8px; }
#wpRoot .sf-bn-hint { margin-left: auto; font-size: 11.5px; font-weight: 500; color: #8b95a1; }
/* 지점 참고사항: 다른 표와 같은 모양 — 회색 머리칸 | 이름 | 전화번호 / 참고사항은 입력칸 두 칸 합침 */
#wpRoot .sf-bn-table { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot .sf-bn-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) 132px 44px; border-top: 1px solid #eef0f3; }
#wpRoot #sfBranchContacts .sf-bn-row:first-child { border-top: none; }
#wpRoot .sf-bn-row > span { display: flex; align-items: center; white-space: nowrap; padding: 0 12px; background: #f9fafb; font-size: 12.5px; font-weight: 700; color: #6b7684; }
#wpRoot .sf-bn-row > * + * { box-shadow: inset 1px 0 0 #eef0f3; }
#wpRoot #tabPanel_safety .sf-bn-row input { height: 42px; border: none; border-radius: 0; background: transparent; font-size: 14px; }
#wpRoot #tabPanel_safety .sf-bn-row textarea { grid-column: 2 / -1; height: 72px; border: none; border-radius: 0; background: transparent; font-size: 14px; line-height: 1.5; }
#wpRoot #tabPanel_safety .sf-bn-row input:focus, #wpRoot #tabPanel_safety .sf-bn-row textarea:focus { background: #e8f3ff; }
#wpRoot .sf-bn-memo > span { align-items: flex-start; padding-top: 11px; }
#wpRoot .sf-bn-del { border: none; background: transparent; color: #f04452; font-size: 16px; cursor: pointer; font-family: inherit; }
#wpRoot .sf-bn-add:disabled { visibility: hidden; }
#wpRoot .sf-bn-add { border: none; background: transparent; color: #3182f6; font-size: 18px; font-weight: 600; cursor: pointer; font-family: inherit; }
#wpRoot .sf-bn-add:hover { background: #f2f8ff; }
@media (min-width: 760px) {   /* PC는 한 줄에 파트리더 두 명 (홀수면 마지막 줄 오른쪽은 빈 칸) */
  #wpRoot #sfBranchContacts { display: grid; grid-template-columns: 1fr 1fr; }
  #wpRoot #sfBranchContacts .sf-bn-row:nth-child(2) { border-top: none; }
  #wpRoot #sfBranchContacts .sf-bn-row:nth-child(even) { border-left: 1px solid #e5e8eb; }
}
@media (max-width: 600px) { #wpRoot .sf-bn-row { grid-template-columns: 84px minmax(0, 1fr) 124px 40px; } #wpRoot .sf-bn-row > span { padding: 0 10px; font-size: 12px; } #wpRoot .sf-bn-memo > span { padding-top: 11px; } }
/* 매장 검색칸: 누르면 전체 목록이 펼쳐지는 선택상자 모양 */
#wpRoot .mail-store-card .autocomplete-wrap input#storeSearch { padding-right: 32px; cursor: pointer; }
#wpRoot .store-chev { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: #8b95a1; pointer-events: none; }
#wpRoot #storeDropdown { max-height: 320px; }
#wpRoot .dropdown-item.selected { background: #e8f3ff; }
#wpRoot .dropdown-item.selected span:last-child { color: #3182f6; font-weight: 600; }
/* 작업자 이름칸: 누르면 명단(회사별)이 펼쳐지는 선택상자 */
#wpRoot .worker-row .autocomplete-wrap input.worker-pick { padding-right: 24px; cursor: pointer; }
#wpRoot .worker-row .store-chev { right: 8px; }
#wpRoot .worker-dd { max-height: 340px; min-width: 300px; }
#wpRoot .dropdown-group { font-size: 11.5px; font-weight: 700; color: #8b95a1; padding: 8px 10px 4px; position: sticky; top: -4px; background: #fff; }
#wpRoot .worker-dd .dropdown-item .wn { font-weight: 600; min-width: 48px; }
#wpRoot .worker-dd .dropdown-item .car { color: #8b95a1; font-size: 12px; margin-left: auto; }
#wpRoot .dropdown-item.used { opacity: .45; }
#wpRoot .used-tag { margin-left: auto; font-size: 11px; font-weight: 700; color: #6b7684; background: #f2f4f6; border-radius: 10px; padding: 1px 7px; }
#wpRoot .st-note-ico { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 7px; background: #fff5dc; color: #e89b00; flex-shrink: 0; cursor: pointer; }
#wpRoot .st-note-ico:hover { background: #ffeab8; }
/* 위험성 평가표 행 삭제 버튼 (번호 아래) */
#wpRoot #tabPanel_safety .sf-rrow { position: relative; }
#wpRoot .sf-rdel { width: 22px; height: 22px; border: none; border-radius: 6px; background: #feecee; color: #f04452; font-size: 14px; line-height: 1; cursor: pointer; padding: 0; }
#wpRoot .sf-rdel:hover { background: #fdd8dc; }
@media (min-width: 760px) {
  #wpRoot #tabPanel_safety .sf-rrow .no { grid-row: 1; }
  #wpRoot #tabPanel_safety .sf-rrow .sf-rdel { grid-column: 1; grid-row: 2; align-self: start; margin-top: 22px; }
}
@media (max-width: 759px) { #wpRoot #tabPanel_safety .sf-rrow .sf-rdel { position: absolute; top: 10px; right: 0; } }
/* 위험성 평가표: 기본 정보·사용 장비와 같은 표 모양 (칸 사이 가는 선, 테두리 없는 입력칸) */
#wpRoot #sfRisk { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot #tabPanel_safety .sf-rrow { gap: 0; padding: 0; margin: 0 0 0 -1px; border-top: 1px solid #e5e8eb; align-items: stretch; }
#wpRoot #tabPanel_safety .sf-rrow:first-child { border-top: none; }
#wpRoot #tabPanel_safety .sf-rrow > label { gap: 0; padding: 0; background: #fff; box-shadow: inset 1px 1px 0 #eef0f3; }
#wpRoot #tabPanel_safety .sf-rrow .sf-lbl { display: block; padding: 6px 10px 0; font-size: 11px; }
#wpRoot #tabPanel_safety .sf-rrow input, #wpRoot #tabPanel_safety .sf-rrow select, #wpRoot #tabPanel_safety .sf-rrow textarea { border: none; border-radius: 0; background: transparent; }
#wpRoot #tabPanel_safety .sf-rrow input, #wpRoot #tabPanel_safety .sf-rrow select { height: 42px; }
#wpRoot #tabPanel_safety .sf-rrow textarea { height: 68px; resize: none; }
#wpRoot #tabPanel_safety .sf-rrow input:focus, #wpRoot #tabPanel_safety .sf-rrow select:focus, #wpRoot #tabPanel_safety .sf-rrow textarea:focus { background: #e8f3ff; }
#wpRoot #tabPanel_safety .sf-rrow .no { justify-self: center; }
@media (max-width: 759px) {
  #wpRoot #tabPanel_safety .sf-rrow .no { margin: 10px 0 10px 12px; justify-self: start; }
  #wpRoot #tabPanel_safety .sf-rrow .sf-rdel { top: 10px; right: 10px; }
}
@media (max-width: 600px) { #wpRoot #tabPanel_safety .sf-rrow > label:nth-of-type(5) { grid-column: 1 / -1; } }   /* 위험성 칸 옆이 비지 않게 */
/* 재해형태별 기본값 관리: 위험성 평가표와 같은 표 모양. 모바일은 재해형태|위험성|삭제 한 줄 + 요인·조치 각 한 줄 */
#wpRoot #sfPresetList { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot #sfPresetList:empty { display: none; }
#wpRoot #tabPanel_safety .sf-prow { grid-template-columns: 1fr 70px 56px; gap: 0; padding: 0; margin: 0 0 0 -1px; border-top: 1px solid #e5e8eb; align-items: stretch; }
#wpRoot #tabPanel_safety .sf-prow:first-child { border-top: none; }
#wpRoot #tabPanel_safety .sf-prow > * { box-shadow: inset 1px 1px 0 #eef0f3; }
#wpRoot #tabPanel_safety .sf-prow textarea { grid-column: 1 / -1; height: 64px; resize: none; font-size: 13px; line-height: 1.45; }
#wpRoot #tabPanel_safety .sf-prow input, #wpRoot #tabPanel_safety .sf-prow textarea { border: none; border-radius: 0; background: transparent; }
#wpRoot #tabPanel_safety .sf-prow input { height: auto; min-height: 42px; }
#wpRoot #tabPanel_safety .sf-prow input:nth-child(2) { text-align: center; padding: 0 4px; }
#wpRoot #tabPanel_safety .sf-prow input:focus, #wpRoot #tabPanel_safety .sf-prow textarea:focus { background: #e8f3ff; }
#wpRoot #tabPanel_safety .sf-prow .sf-btn { height: auto; padding: 0; border: none; border-radius: 0; background: #fff; color: #f04452; font-size: 12.5px; font-weight: 600; }
#wpRoot #tabPanel_safety .sf-prow .sf-btn:hover { background: #feecee; }
#wpRoot #tabPanel_safety .sf-prow .sf-btn { grid-column: 3; grid-row: 1; }   /* 모바일: 첫 줄 오른쪽 */
#wpRoot .sf-phead { display: none; }
@media (min-width: 760px) {
  #wpRoot .sf-pnote { display: none; }
  #wpRoot .sf-phead { display: grid; grid-template-columns: 110px 60px 1fr 1.4fr 56px; padding: 9px 0; background: #f9fafb; border: 1px solid #e5e8eb; border-bottom: none; border-radius: 10px 10px 0 0; font-size: 11px; font-weight: 700; color: #6b7684; }
  #wpRoot .sf-phead span { padding-left: 12px; }
  #wpRoot #sfPresetList { border-radius: 0 0 10px 10px; }
  #wpRoot #tabPanel_safety .sf-prow { grid-template-columns: 110px 60px 1fr 1.4fr 56px; }
  #wpRoot #tabPanel_safety .sf-prow textarea { grid-column: auto; }
  #wpRoot #tabPanel_safety .sf-prow .sf-btn { grid-column: auto; grid-row: auto; }
}
@media (min-width: 760px) {
  /* 머리줄은 표 윗부분, 행은 아래로 이어짐. 첫 칸(번호·삭제)을 36px로 넓힘 */
  #wpRoot .sf-rhead { grid-template-columns: 36px 1fr 1.2fr 0.8fr 60px 1.3fr 70px; gap: 0; margin: 0; padding: 9px 0; border: 1px solid #e5e8eb; border-bottom: none; border-radius: 10px 10px 0 0; }
  #wpRoot .sf-rhead span:not(:first-child) { padding-left: 10px; }
  #wpRoot #sfRisk { border-radius: 0 0 10px 10px; }
  #wpRoot #tabPanel_safety .sf-rrow { grid-template-columns: 36px 1fr 1.2fr 0.8fr 60px 1.3fr 70px; }
  /* 1줄 칸은 왼쪽 선만, 2줄(유해·위험요인/개선조치)은 위·왼쪽 선 */
  #wpRoot #tabPanel_safety .sf-rrow > label:not(.haz):not(.act) { box-shadow: inset 1px 0 0 #eef0f3; }
  #wpRoot #tabPanel_safety .sf-rrow label:not(.haz):not(.act) .sf-lbl { display: none; }
  #wpRoot #tabPanel_safety .sf-rrow .no { margin-top: 10px; }
  #wpRoot #tabPanel_safety .sf-rrow .sf-rdel { justify-self: center; margin-top: 30px; }
}
/* 지점별 기본값: 재해형태 기본값과 같은 표 모양. PC 지점|작업명|작업위치|작업내용 한 줄 (.sf-bwhead와 칸 폭 같아야 함) / 모바일 지점 윗줄 + 입력칸 각 한 줄 */
#wpRoot #sfBranchWorkList { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot .sf-bwrow { display: grid; grid-template-columns: 1fr; border-top: 1px solid #e5e8eb; }
#wpRoot .sf-bwrow:first-child { border-top: none; }
#wpRoot .sf-bwrow span { display: flex; align-items: center; min-height: 32px; padding: 0 12px; background: #f9fafb; font-size: 12.5px; font-weight: 700; color: #6b7684; }
#wpRoot .sf-bwrow > * + * { box-shadow: inset 0 1px 0 #eef0f3; }
#wpRoot #tabPanel_safety .sf-bwrow input { height: 42px; border: none; border-radius: 0; background: transparent; }
#wpRoot #tabPanel_safety .sf-bwrow input:focus { background: #e8f3ff; }
#wpRoot .sf-bwhead { display: none; }
@media (min-width: 760px) {
  #wpRoot .sf-bwhead, #wpRoot .sf-bwrow { grid-template-columns: 130px 1.4fr 1fr 1.2fr; }
  #wpRoot .sf-bwhead { display: grid; padding: 9px 0; background: #f9fafb; border: 1px solid #e5e8eb; border-bottom: none; border-radius: 10px 10px 0 0; font-size: 11px; font-weight: 700; color: #6b7684; }
  #wpRoot .sf-bwhead span { padding-left: 12px; }
  #wpRoot #sfBranchWorkList { border-radius: 0 0 10px 10px; }
  #wpRoot .sf-bwrow > * + * { box-shadow: inset 1px 0 0 #eef0f3; }
}
/* 작업자 명단·승강기·바로가기 표: 안전관리 PPT·IFC몰 Excel과 같은 표 모양 (칸 사이 가는 선, 테두리 없는 입력칸) */
#wpRoot .table-scroll:has(> #dbTable), #wpRoot .table-scroll:has(> #elevatorTable), #wpRoot .table-scroll:has(> #quickLinkTable) { border: 1px solid #e5e8eb; border-radius: 10px; background: #fff; }
#wpRoot #dbTable thead th + th, #wpRoot #elevatorTable thead th + th, #wpRoot #quickLinkTable thead th + th { border-left: 1px solid #eef0f3; }
#wpRoot #dbTable thead th, #wpRoot #elevatorTable thead th, #wpRoot #quickLinkTable thead th { padding-left: 12px !important; }
#wpRoot #dbTable td.wk-td, #wpRoot #elevatorTable td.wk-td, #wpRoot #quickLinkTable td.wk-td { padding: 0; border-top: 1px solid #eef0f3; vertical-align: middle; }
#wpRoot #dbTable td.wk-td + td.wk-td, #wpRoot #elevatorTable td.wk-td + td.wk-td, #wpRoot #quickLinkTable td.wk-td + td.wk-td { border-left: 1px solid #eef0f3; }
#wpRoot #elevatorTable tbody tr:first-child td, #wpRoot #quickLinkTable tbody tr:first-child td { border-top: none; }
#wpRoot #dbTable .wk-input, #wpRoot #elevatorTable .wk-input, #wpRoot #quickLinkTable .wk-input { height: 42px; border: none; border-radius: 0; padding: 0 12px; background: transparent; font-size: 13.5px; }
#wpRoot #dbTable .wk-input:focus, #wpRoot #elevatorTable .wk-input:focus, #wpRoot #quickLinkTable .wk-input:focus { background: #e8f3ff; }
#wpRoot #dbTable select.wk-input { -webkit-appearance: none; appearance: none; padding: 0 28px 0 12px; }   /* 성별·혈액형 선택칸도 세로선과 12px 띄움 */
#wpRoot #dbTable select.wk-input, #wpRoot #dbTable select.wk-input:focus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23191f28' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }   /* 기본 화살표는 세로선에 붙어서 직접 그림 (:focus 는 위 파란 배경 규칙이 그림을 지우지 않게) */
#wpRoot .wk-icon-btn.wk-del { background: none; font-size: 17px; }
#wpRoot .wk-icon-btn.wk-del:hover { background: #feecee; }
#wpRoot #dbTable td.wk-group { background: #f9fafb; border-top: 1px solid #e5e8eb; }
#wpRoot #dbTable .wk-group-name:hover { background: #fff; }
@media (max-width: 600px) {
  /* 모바일(칸 줄바꿈 표): 행 사이 선, 칸마다 위·왼쪽 가는 선 */
  #wpRoot #dbTable, #wpRoot #elevatorTable, #wpRoot #quickLinkTable { margin: -1px 0 0 -1px; }
  #wpRoot #dbTable tbody tr, #wpRoot #elevatorTable tbody tr, #wpRoot #quickLinkTable tbody tr { gap: 0; padding: 0; border-bottom: 1px solid #e5e8eb; align-items: stretch; }   /* stretch: 칸 높이를 맞춰야 선이 어긋나지 않음 */
  #wpRoot #elevatorTable tbody tr:last-child, #wpRoot #quickLinkTable tbody tr:last-child, #wpRoot #dbTable tbody tr:last-child { border-bottom: none; }
  #wpRoot #dbTable td.wk-td, #wpRoot #elevatorTable td.wk-td, #wpRoot #quickLinkTable td.wk-td { box-shadow: inset 1px 1px 0 #eef0f3; display: flex !important; align-items: center; justify-content: center; }
  #wpRoot #dbTable td.wk-td > *, #wpRoot #elevatorTable td.wk-td > *, #wpRoot #quickLinkTable td.wk-td > * { flex: 1; }
  #wpRoot #dbTable td.wk-td > button, #wpRoot #elevatorTable td.wk-td > button, #wpRoot #quickLinkTable td.wk-td > button, #wpRoot #quickLinkTable td.wk-td > a { flex: none; }
  #wpRoot #dbTable td.wk-group { padding: 8px !important; }
  /* 작업자 줄 마지막 칸(× + 이동 손잡이), 바로가기 URL 칸 폭 */
  #wpRoot #dbTable tbody tr:has(> td:nth-child(7)) > td:nth-child(7) { flex: 0 0 60px; min-width: 60px; }
  /* 작업자 줄을 2줄로: 1줄 이름·전화·생년월일(주민번호) / 2줄 성별·혈액형·차량, 오른쪽 끝 칸에 삭제/이동 고정(두 줄 높이). 이름 외 글자는 작게 */
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) { display: grid; grid-template-columns: 60px minmax(0, 1fr) minmax(0, 1.1fr) 46px; align-items: stretch; }   /* stretch: 칸 높이를 맞춰야 선이 어긋나지 않음 */
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td { min-width: 0; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(1) { grid-area: 1 / 1; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(2) { grid-area: 1 / 2; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(3) { grid-area: 1 / 3; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(7) { grid-area: 1 / 4 / 3 / 5; min-width: 0; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(4) { grid-area: 2 / 1; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(5) { grid-area: 2 / 2; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(6) { grid-area: 2 / 3; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(7) > div { gap: 2px !important; }
  #wpRoot #dbTable tr.wk-worker-row .wk-input { height: 36px; padding: 0 8px; font-size: 12px; }
  #wpRoot #dbTable tr.wk-worker-row select.wk-input { padding: 0 18px 0 8px; }
  #wpRoot #dbTable tr.wk-worker-row select.wk-input, #wpRoot #dbTable tr.wk-worker-row select.wk-input:focus { background-position: right 7px center; }
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(1) .wk-input { font-size: 14px; font-weight: 700; }
  /* 전화번호·주민번호가 한 줄에 다 보이도록 글자·여백을 조금 줄임 */
  #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(2) .wk-input, #wpRoot #dbTable tbody tr.wk-worker-row:has(> td:nth-child(7)) > td:nth-child(3) .wk-input { padding: 0 6px; font-size: 11px; letter-spacing: -0.3px; }
  /* 승강기 줄: 1줄 코드·매장명 / 2줄 승강기 번호·최근 점검일, 오른쪽 끝 칸에 × 고정(두 줄 높이). 매장명 외 글자는 작게 */
  #wpRoot #elevatorTable tbody tr.wk-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 132px 44px; align-items: stretch; }
  #wpRoot #elevatorTable tbody tr.wk-row > td { min-width: 0; }
  #wpRoot #elevatorTable tbody tr.wk-row > td:nth-child(1) { grid-area: 1 / 1; }
  #wpRoot #elevatorTable tbody tr.wk-row > td:nth-child(2) { grid-area: 1 / 2 / 2 / 4; }
  #wpRoot #elevatorTable tbody tr.wk-row > td:nth-child(3) { grid-area: 2 / 1 / 3 / 3; }
  #wpRoot #elevatorTable tbody tr.wk-row > td:nth-child(4) { grid-area: 2 / 3; }
  #wpRoot #elevatorTable tbody tr.wk-row > td:nth-child(5) { grid-area: 1 / 4 / 3 / 5; }
  #wpRoot #elevatorTable tr.wk-row .wk-input, #wpRoot #quickLinkTable tr.wk-row .wk-input { height: 36px; padding: 0 8px; font-size: 12px; }
  #wpRoot #elevatorTable tr.wk-row > td:nth-child(2) .wk-input, #wpRoot #quickLinkTable tr.wk-row > td:nth-child(1) .wk-input { font-size: 14px; font-weight: 700; }
  #wpRoot #quickLinkTable tbody tr.wk-row > td:nth-child(3), #wpRoot #quickLinkTable tbody tr.wk-row > td:nth-child(4) { flex: 0 0 36px; min-width: 36px; }
  #wpRoot #quickLinkTable tbody td:nth-child(1) { flex: 1 1 100px; }
  #wpRoot #quickLinkTable tbody td:nth-child(2) { flex: 1 1 100px; }
}
/* 작업계 메일: 안전관리 PPT와 같은 표 모양. 목록(매장·작업자)이 열려 있을 때만 테두리 밖으로 보이게 overflow를 풂 */
#wpRoot .mail-table, #wpRoot #workerList { display: grid; gap: 1px; background: #eef0f3; border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; }
#wpRoot .wp-field-row.mail-table { margin-bottom: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
#wpRoot .mail-table:has(.dropdown.open), #wpRoot #workerList:has(.dropdown.open) { overflow: visible; }
#wpRoot .mail-table > .wp-field-group { flex: none !important; gap: 0; min-width: 0; background: #fff; }
#wpRoot .mail-table > .wp-field-group > label { display: flex; align-items: center; min-height: 32px; padding: 4px 12px; background: #f9fafb; border-bottom: 1px solid #eef0f3; font-size: 11.5px; font-weight: 700; color: #6b7684; }
#wpRoot .mail-table input[type="text"], #wpRoot .mail-table input[type="date"], #wpRoot .mail-table .time-sel select, #wpRoot #workerList input[type="text"] { height: 42px; border: none; border-radius: 0; background: #fff; padding: 0 12px; font-size: 14px; }
#wpRoot .mail-table input[readonly] { background: #fff !important; }
#wpRoot .mail-table input:focus, #wpRoot .mail-table .time-sel select:focus, #wpRoot #workerList input:focus { background: #e8f3ff; }
#wpRoot .mail-table .time-sel { gap: 0; background: #fff; }
#wpRoot #workerList { display: block; background: #fff; margin-bottom: 10px; }
#wpRoot #workerList:empty { display: none; }
#wpRoot #workerList .worker-row { gap: 0; margin: 0 0 0 -1px; border-top: 1px solid #eef0f3; align-items: stretch; }
#wpRoot #workerList .worker-row:first-child { border-top: none; }
#wpRoot #workerList .worker-row > :not(.worker-tag) { box-shadow: inset 1px 0 0 #eef0f3; }
#wpRoot #workerList .worker-tag { margin: 8px 0 6px 13px; }
#wpRoot #workerList .remove-btn { width: auto; height: auto; border-radius: 0; background: none; }
#wpRoot #workerList .remove-btn:hover { background: #feecee; }
/* 이어지지 않는 날짜 추가: 날짜 하나씩, 시간은 위의 시작·종료 시간을 같이 씀 */
#wpRoot #extraDateList { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; margin-bottom: 10px; }
#wpRoot #extraDateList:empty { display: none; }
#wpRoot #extraDateList .extra-date-row { display: flex; align-items: stretch; border-top: 1px solid #eef0f3; }
#wpRoot #extraDateList .extra-date-row:first-child { border-top: none; }
#wpRoot #extraDateList input[type="date"] { flex: 1; min-width: 0; height: 42px; border: none; border-radius: 0; background: #fff; padding: 0 6px 0 12px; font-size: 14px; }
#wpRoot #extraDateList input:focus { background: #e8f3ff; }
#wpRoot #extraDateList .remove-btn { width: 32px; flex: none; height: auto; border-radius: 0; background: none; }
#wpRoot #extraDateList .remove-btn:hover { background: #feecee; }
@media (max-width: 600px) {
  #wpRoot #workerList .worker-row > input:last-of-type { box-shadow: inset 1px 1px 0 #eef0f3; }
}
/* 점검 D-Day 현황: 다른 표와 같은 모양 (테두리 상자, 회색 머리줄, 칸 사이 가는 선) */
#wpRoot #elevatorDDayList { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot #elevatorDDayList .dd-row { gap: 0; padding: 0; align-items: stretch; border-bottom: 1px solid #eef0f3; }
#wpRoot #elevatorDDayList .dd-row:last-child { border-bottom: none; }
#wpRoot #elevatorDDayList .dd-head { background: #f9fafb; border-bottom: 1px solid #e5e8eb; font-size: 11.5px; font-weight: 700; color: #6b7684; }
#wpRoot #elevatorDDayList .dd-head > div { padding: 8px 12px; font-size: 11.5px; font-weight: 700; color: #6b7684; }
#wpRoot #elevatorDDayList .dd-name { padding: 11px 12px; border-right: 1px solid #eef0f3; white-space: normal; overflow: visible; text-overflow: clip; word-break: keep-all; overflow-wrap: anywhere; line-height: 1.35; }   /* 매장명은 자르지 않고 줄바꿈 */
#wpRoot #elevatorDDayList .dd-bar-h { flex: 1; }
#wpRoot #elevatorDDayList .dd-bar { align-self: center; height: 6px; margin: 0 14px; background: #eef0f3; }
#wpRoot #elevatorDDayList .dd-label { display: flex; align-items: center; justify-content: center; width: 84px; padding: 0 8px; border-left: 1px solid #eef0f3; }
#wpRoot #elevatorDDayList .dd-head .dd-label { justify-content: center; }
#wpRoot #elevatorDDayList .dd-empty { padding: 16px 0; }
@media (max-width: 600px) { #wpRoot #elevatorDDayList .dd-name { width: 120px; font-size: 12.5px; } #wpRoot #elevatorDDayList .dd-bar { margin: 0 10px; } }
/* 안전관리 책임자 이름 선택 목록: 표 상자에 잘리지 않게 목록이 열릴 때만 overflow를 풂 */
#wpRoot #tabPanel_safety .sf-table:has(.dropdown.open) { overflow: visible; }
#wpRoot #tabPanel_safety .sf-table .autocomplete-wrap { flex: 1; min-width: 0; }
#wpRoot #tabPanel_safety .sf-table .autocomplete-wrap input { width: 100%; padding-right: 26px; }
#wpRoot #tabPanel_safety .sf-table .store-chev { right: 10px; }
#wpRoot #sfBossDd { left: auto; right: 0; min-width: min(300px, calc(100vw - 40px)); }   /* 오른쪽 칸이라 목록을 왼쪽으로 펼쳐 화면 밖으로 안 나가게 */
/* 매장 관리·발송 이력: 안전관리 PPT·작업자 명단과 같은 표 모양 (테두리 상자, 칸 사이 가는 선, 테두리 없는 입력칸). JS는 그대로 */
#wpRoot #storeTableBody { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot #storeTableBody:empty { display: none; }
#wpRoot #storeTableBody .st-card { border: none; border-radius: 0; padding: 0; margin: 0; border-top: 1px solid #e5e8eb; }
#wpRoot #storeTableBody > :first-child { border-top: none; }
#wpRoot #storeTableBody .st-top { gap: 0; align-items: stretch; }
#wpRoot #storeTableBody .st-top > * + * { box-shadow: inset 1px 0 0 #eef0f3; }
#wpRoot #storeTableBody .st-in { height: 42px; border: none; border-radius: 0; padding: 0 12px; font-size: 13.5px; background: transparent; }
#wpRoot #storeTableBody .st-in:focus { background: #e8f3ff; }
#wpRoot #storeTableBody .st-note-ico { align-self: center; margin: 0 6px; box-shadow: none; }
#wpRoot #storeTableBody .st-kind { align-self: center; margin: 0 8px; box-shadow: none; }
#wpRoot #storeTableBody .st-top .wk-icon-btn { width: 42px; height: auto; min-height: 42px; border: none; border-radius: 0; background: transparent; }
#wpRoot #storeTableBody .st-top .wk-icon-btn:hover { background: #f2f4f6; }
#wpRoot #storeTableBody .st-top .st-toggle.open { background: #e8f3ff; }
#wpRoot #storeTableBody .st-top .wk-del:hover { background: #feecee; }
#wpRoot #storeTableBody .st-detail { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; border-top: 1px solid #eef0f3; background: #eef0f3; }
#wpRoot #storeTableBody .st-field { gap: 0; background: #fff; }
#wpRoot #storeTableBody .st-field > span { display: flex; align-items: center; min-height: 30px; padding: 0 12px; background: #f9fafb; border-bottom: 1px solid #eef0f3; font-size: 11.5px; font-weight: 700; color: #6b7684; }
#wpRoot #storeTableBody .st-notes .st-in { background: #fffaeb; }
#wpRoot #storeTableBody .st-notes .st-in:focus { background: #e8f3ff; }
#wpRoot #storeTableBody .st-group { padding: 10px 12px; background: #f9fafb; border-top: 1px solid #e5e8eb; }
#wpRoot #historyList { border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; background: #fff; }
#wpRoot #historyList .hs-row { gap: 0; padding: 0; align-items: stretch; border-bottom: 1px solid #eef0f3; }
#wpRoot #historyList .hs-row:last-child { border-bottom: none; }
#wpRoot #historyList .hs-main { padding: 11px 12px; }
#wpRoot #historyList .dd-pill { align-self: center; margin: 0 12px; }
#wpRoot #historyList .wk-del { width: 44px; height: auto; border: none; border-left: 1px solid #eef0f3; border-radius: 0; }
@media (max-width: 600px) {
  /* 모바일 2줄: 1줄 매장명·요청/안내·펼침·× / 2줄 이메일 */
  #wpRoot #storeTableBody .st-name { flex: 1 1 0; }
  #wpRoot #storeTableBody .st-note-ico { margin: 0 2px 0 0; }
  #wpRoot #storeTableBody .st-kind { margin: 0 6px; }
  #wpRoot #storeTableBody .st-top .wk-icon-btn { width: 38px; }
  #wpRoot #storeTableBody .st-email { flex: 1 1 100%; order: 10; box-shadow: inset 0 1px 0 #eef0f3; color: #4e5968; font-size: 13px; }
  #wpRoot #storeTableBody .st-detail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #wpRoot #storeTableBody .st-field:nth-child(5) { grid-column: 1 / -1; }   /* 5칸이라 매니저 전화는 한 줄 전체 (빈 회색칸 방지) */
}
/* 메일 작성 하단 버튼 줄 (파일 첨부 | 복사·저장 | 메일 전송) */
#wpRoot .mail-action-card { padding: 0; border: none !important; background: transparent !important; box-shadow: none !important; }   /* 바깥 테두리 상자 없이 버튼만 */
#wpRoot .mail-action-card .actions { margin-top: 0; }
#wpRoot .mail-store-card .wp-field-row.store-search-row { grid-template-columns: 1fr; }   /* 매장 검색만 보이므로 한 칸 전체 폭 */
/* 매장 관리: 매장명 칸 넓힘(긴 이름 안 잘리게), 그룹 줄 이름 입력칸 + 매장 추가 버튼 */
#wpRoot #storeTableBody .st-name { flex-basis: 230px; }
#wpRoot #storeTableBody .st-group-name { flex: 0 1 auto; width: auto; field-sizing: content; min-width: 70px; max-width: 60%; height: 30px; padding: 0 8px; border: 1px solid transparent; border-radius: 6px; background: transparent; font-size: 13px; font-weight: 700; color: #4e5968; font-family: inherit; outline: none; }
#wpRoot #storeTableBody .st-group-name:hover { border-color: #e5e8eb; background: #fff; }
#wpRoot #storeTableBody .st-group-name:focus { border-color: #3182f6; background: #fff; }
#wpRoot #storeTableBody .st-group-add { margin-left: auto; width: 28px; height: 28px; font-size: 16px; }
@media (max-width: 600px) { #wpRoot #storeTableBody .st-name { flex-basis: 0; } }
/* ── 작업신청서 템플릿 (크롬 확장 프로그램 LotteWorkFill 이 읽음) ── */
#wpRoot #workfillList { display: flex; flex-direction: column; gap: 10px; }
#wpRoot #tabPanel_workfill > .card + .card { margin-top: 14px; }   /* 다른 탭 카드 간격(gap 14px)과 같게 */
#wpRoot #workfillList .wf-empty { padding: 18px; text-align: center; color: #b0b8c1; font-size: 13px; border: 1px dashed #e5e8eb; border-radius: 10px; }
#wpRoot #tabPanel_workfill .wf-item { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #eef0f3; border: 1px solid #e5e8eb; border-radius: 10px; overflow: hidden; }
#wpRoot #tabPanel_workfill .wf-item > label { display: flex; flex-direction: column; min-width: 0; margin: 0; background: #fff; }
#wpRoot #tabPanel_workfill .wf-lbl { padding: 6px 12px 4px; background: #f9fafb; border-bottom: 1px solid #eef0f3; font-size: 11.5px; font-weight: 700; color: #6b7684; }
#wpRoot #tabPanel_workfill .wf-item input { width: 100%; height: 40px; border: none; border-radius: 0; padding: 0 12px; background: #fff; font-size: 14px; color: #191f28; box-shadow: none; }
#wpRoot #tabPanel_workfill .wf-item input:focus { background: #e8f3ff; outline: none; }
#wpRoot #tabPanel_workfill .wf-head { grid-column: 1 / -1; display: flex; align-items: stretch; background: #f9fafb; }
#wpRoot #tabPanel_workfill .wf-head input { flex: 1; min-width: 0; background: #f9fafb; font-size: 14.5px; font-weight: 700; }
#wpRoot #tabPanel_workfill .wf-tog { flex: none; width: 44px; border: none; border-right: 1px solid #eef0f3; background: transparent; color: #8b95a1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#wpRoot #tabPanel_workfill .wf-tog:hover { background: #f2f4f6; }
#wpRoot #tabPanel_workfill .wf-tog svg { transition: transform .15s; }
#wpRoot #tabPanel_workfill .wf-item:not(.wf-closed) .wf-tog svg { transform: rotate(90deg); }
#wpRoot #tabPanel_workfill .wf-item.wf-closed > label { display: none; }
#wpRoot #tabPanel_workfill .wf-sum { display: none; align-self: center; flex: none; max-width: 45%; padding: 0 12px; font-size: 12.5px; color: #8b95a1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 760px) { #wpRoot #tabPanel_workfill .wf-closed .wf-sum { display: block; } }
#wpRoot #tabPanel_workfill .wf-grip { flex: none; display: flex; align-items: center; justify-content: center; width: 24px; margin-right: 6px; color: #b0b8c1; cursor: grab; touch-action: none; }
#wpRoot #tabPanel_workfill .wf-grip:hover { color: #6b7684; background: #f2f4f6; }
#wpRoot #tabPanel_workfill .wf-item.wk-dragging { opacity: .45; }
#wpRoot #tabPanel_workfill .wf-item.wk-drop-before { box-shadow: 0 -3px 0 #3182f6; }
#wpRoot #tabPanel_workfill .wf-item.wk-drop-after { box-shadow: 0 3px 0 #3182f6; }
#wpRoot #tabPanel_workfill .wf-del { flex: none; width: 30px; padding: 0; border: none; background: transparent; color: #f04452; font-size: 17px; cursor: pointer; }
#wpRoot #tabPanel_workfill .wf-del:hover { background: #feecee; }
#wpRoot #tabPanel_workfill .wf-copy { flex: none; width: 30px; padding: 0; border: none; background: transparent; color: #6b7684; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#wpRoot #tabPanel_workfill .wf-copy:hover { background: #e8f3ff; color: #3182f6; }
#wpRoot #tabPanel_workfill .wf-head[style] input { background: transparent; }
#wpRoot #tabPanel_workfill .wf-color { flex: none; width: 30px; padding: 0; border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#wpRoot #tabPanel_workfill .wf-color:hover { background: rgba(0,0,0,.05); }
#wpRoot #tabPanel_workfill .wf-color i { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid rgba(0,0,0,.15); }
#wpRoot #wfColorPal { position: fixed; z-index: 1000; display: flex; gap: 6px; padding: 8px; background: #fff; border: 1px solid #e5e8eb; border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,.12); }
#wpRoot #wfColorPal button { width: 24px; height: 24px; padding: 0; border-radius: 50%; border: 1.5px solid rgba(0,0,0,.12); cursor: pointer; color: #b0b8c1; font-size: 14px; line-height: 1; }
#wpRoot #wfColorPal button.on { outline: 2px solid #191f28; outline-offset: 2px; }
#wpRoot #tabPanel_workfill .wf-wide, #wpRoot #tabPanel_workfill .wf-title { grid-column: 1 / -1; }
@media (min-width: 760px) {
  #wpRoot #tabPanel_workfill .wf-item { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #wpRoot #tabPanel_workfill .wf-title { grid-column: span 2; }
}
  

/* ══ 화면 모드(시스템/라이트/다크) 톱니바퀴 버튼·메뉴 ══ */
.theme-btn { margin-left:6px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; background:#fff; border:1px solid var(--slate-200); color:var(--slate-600); cursor:pointer; flex-shrink:0; }
.theme-btn:active { background:var(--slate-100); }
#maintenanceScreen .theme-btn, #repairScreen .theme-btn { width:44px; height:44px; }
.home-theme-btn { position:absolute; top:calc(14px + env(safe-area-inset-top)); right:16px; margin:0; }
.theme-menu { position:fixed; z-index:3000; min-width:168px; padding:6px; background:#fff; border:1px solid var(--slate-200); border-radius:12px; box-shadow:var(--shadow-lg); }
.theme-menu-title { padding:6px 10px 4px; font-size:11.5px; font-weight:700; color:var(--slate-500); }
.theme-menu-item { display:flex; align-items:center; justify-content:space-between; width:100%; padding:9px 10px; border:none; border-radius:8px; background:none; color:var(--slate-800); font-size:13.5px; font-weight:600; font-family:inherit; cursor:pointer; text-align:left; }
.theme-menu-item:hover { background:var(--slate-100); }
.theme-menu-item.on { color:var(--primary); font-weight:700; }
.home-logo .cls-2 { fill:#231815; }  /* 홈 로고 검은 글씨 — 다크에서는 자동으로 밝게 */

/* ══ 다크모드 (make_dark_css.py 자동 생성 — 손으로 고치지 말 것) ══ */
@media screen {
  html[data-theme="dark"] { color-scheme:dark; --primary-light:#1b2b44; --green-light:#11302b; --danger-light:#3a1d21; --purple-light:#2a2140; --slate-50:#1c1f24; --slate-100:#16181c; --slate-200:#30353c; --slate-300:#3e444c; --slate-400:#6b7480; --slate-500:#8b95a1; --slate-600:#a3acb7; --slate-700:#c1c8d0; --slate-800:#dde1e6; --slate-900:#eef0f3; --gray-50:#1c1f24; --gray-100:#16181c; --gray-200:#30353c; --gray-300:#3e444c; --gray-400:#8b95a1; --gray-500:#8b95a1; --gray-600:#a3acb7; --gray-700:#c1c8d0; --gray-800:#dde1e6; --shadow-sm:0 1px 2px rgba(0,0,0,0.3); --shadow:0 2px 8px rgba(0,0,0,0.35); --shadow-lg:0 12px 32px rgba(0,0,0,0.5); --dk-bd-000000:#f1f2f3; --dk-bd-0c4a6e:#9cd0ee; --dk-bd-0e9f6e:#8bebca; --dk-bd-bfd3fe:#253d6f; --dk-bd-bfdbfe:#25466f; --dk-bd-cbd5e1:#394c62; --dk-bd-dddddd:#393d43; --dk-bd-e0e0e0:#383b41; --dk-bd-e2e8f0:#33373c; --dk-bd-e5e8eb:#34373c; --dk-bg-d1fae5:#1c422f; --dk-bg-e0e7ff:#1a223d; --dk-bg-e2e8f0:#26282c; --dk-bg-eef4ff:#19243a; --dk-bg-eff6ff:#192739; --dk-bg-f0fdf4:#191b1d; --dk-bg-f1f5f9:#181a1c; --dk-bg-f3f4f6:#18191c; --dk-bg-f8f8f8:#1a1c1f; --dk-bg-f8fafc:#1b1d20; --dk-bg-fee2e2:#3d1a1a; --dk-bg-fef3c7:#443c1d; --dk-bg-fffbeb:#3a3419; --dk-bg-ffffff:#1e2124; --dk-fg-047857:#9cedd6; --dk-fg-057a55:#9bedd3; --dk-fg-059669:#91ecd0; --dk-fg-065f46:#a3efda; --dk-fg-0c4a6e:#9cd0ee; --dk-fg-0e9f6e:#8bebca; --dk-fg-111111:#eeeff1; --dk-fg-16a34a:#87eaab; --dk-fg-1d4ed8:#7291e6; --dk-fg-1e3a8a:#91a7e7; --dk-fg-1e40af:#8099e9; --dk-fg-1f2937:#becada; --dk-fg-2563eb:#6990e5; --dk-fg-334155:#b3bfd1; --dk-fg-3730a3:#8f8adc; --dk-fg-3b82f6:#5e90e3; --dk-fg-475569:#adb8c7; --dk-fg-4e5968:#afb7c3; --dk-fg-555555:#babfc7; --dk-fg-64748b:#a0abbb; --dk-fg-6b7280:#a7acb6; --dk-fg-7c3aed:#9161e3; --dk-fg-888888:#8a929f; --dk-fg-8b95a1:#98a0ab; --dk-fg-92400e:#ebb28f; --dk-fg-991b1b:#ea8989; --dk-fg-aaaaaa:#6b7583; --dk-fg-dc2626:#e56e6e; --dk-fg-ea580c:#e69a72; --dk-fg-eab308:#e6ca73; --dk-fg-ef4444:#e25d5d; }
  html[data-theme="dark"] .a4-page, html[data-theme="dark"] #wpRoot .mail-card { color:#191f28; --primary-light:#e8f3ff; --green-light:#e3fbf6; --danger-light:#feecee; --purple-light:#f1ebfe; --slate-50:#f9fafb; --slate-100:#f2f4f6; --slate-200:#e5e8eb; --slate-300:#d1d6db; --slate-400:#b0b8c1; --slate-500:#8b95a1; --slate-600:#6b7684; --slate-700:#4e5968; --slate-800:#333d4b; --slate-900:#191f28; --gray-50:#f9fafb; --gray-100:#f2f4f6; --gray-200:#e5e8eb; --gray-300:#d1d6db; --gray-400:#8b95a1; --gray-500:#8b95a1; --gray-600:#6b7684; --gray-700:#4e5968; --gray-800:#333d4b; --shadow-sm:0 1px 2px rgba(25,31,40,0.04); --shadow:0 2px 8px rgba(25,31,40,0.06); --shadow-lg:0 12px 32px rgba(25,31,40,0.12); --dk-bd-000000:initial; --dk-bd-0c4a6e:initial; --dk-bd-0e9f6e:initial; --dk-bd-bfd3fe:initial; --dk-bd-bfdbfe:initial; --dk-bd-cbd5e1:initial; --dk-bd-dddddd:initial; --dk-bd-e0e0e0:initial; --dk-bd-e2e8f0:initial; --dk-bd-e5e8eb:initial; --dk-bg-d1fae5:initial; --dk-bg-e0e7ff:initial; --dk-bg-e2e8f0:initial; --dk-bg-eef4ff:initial; --dk-bg-eff6ff:initial; --dk-bg-f0fdf4:initial; --dk-bg-f1f5f9:initial; --dk-bg-f3f4f6:initial; --dk-bg-f8f8f8:initial; --dk-bg-f8fafc:initial; --dk-bg-fee2e2:initial; --dk-bg-fef3c7:initial; --dk-bg-fffbeb:initial; --dk-bg-ffffff:initial; --dk-fg-047857:initial; --dk-fg-057a55:initial; --dk-fg-059669:initial; --dk-fg-065f46:initial; --dk-fg-0c4a6e:initial; --dk-fg-0e9f6e:initial; --dk-fg-111111:initial; --dk-fg-16a34a:initial; --dk-fg-1d4ed8:initial; --dk-fg-1e3a8a:initial; --dk-fg-1e40af:initial; --dk-fg-1f2937:initial; --dk-fg-2563eb:initial; --dk-fg-334155:initial; --dk-fg-3730a3:initial; --dk-fg-3b82f6:initial; --dk-fg-475569:initial; --dk-fg-4e5968:initial; --dk-fg-555555:initial; --dk-fg-64748b:initial; --dk-fg-6b7280:initial; --dk-fg-7c3aed:initial; --dk-fg-888888:initial; --dk-fg-8b95a1:initial; --dk-fg-92400e:initial; --dk-fg-991b1b:initial; --dk-fg-aaaaaa:initial; --dk-fg-dc2626:initial; --dk-fg-ea580c:initial; --dk-fg-eab308:initial; --dk-fg-ef4444:initial; color-scheme:light; }
  html[data-theme="dark"] :focus-visible { outline:2px solid var(--primary); }
  html[data-theme="dark"] body { background:var(--slate-100); color:var(--slate-900); }
  html[data-theme="dark"] .home-screen { background:var(--slate-100); }
  html[data-theme="dark"] .home-title { color:var(--slate-500); }
  html[data-theme="dark"] .home-table, html[data-theme="dark"] .home-notice, html[data-theme="dark"] .home-schedule { background:#1e2124; border:1px solid #34373c; }
  html[data-theme="dark"] .home-notice-title, html[data-theme="dark"] .home-schedule-title { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] .home-notice-title svg { color:#e8b57a; }
  html[data-theme="dark"] .home-notice-row { border-top:1px solid #2f3337; }
  html[data-theme="dark"] .home-notice-row:first-child { border-top:none; }
  html[data-theme="dark"] .home-notice-no { color:#e8b57a; }
  html[data-theme="dark"] .home-notice-text { border-left:1px solid #2f3337; color:var(--slate-700); }
  html[data-theme="dark"] .home-schedule-row { border-top:1px solid #2f3337; }
  html[data-theme="dark"] .home-schedule-row:first-child { border-top:none; }
  html[data-theme="dark"] .home-schedule-row > span + span { border-left:1px solid #2f3337; }
  html[data-theme="dark"] .home-schedule-dday { color:var(--primary); }
  html[data-theme="dark"] .home-schedule-site { color:var(--slate-700); }
  html[data-theme="dark"] .home-schedule-date { color:var(--slate-400); }
  html[data-theme="dark"] .home-sch-sep { color:#464c55; }
  html[data-theme="dark"] .home-schedule-more { border:none; border-top:1px solid #2f3337; background:none; color:var(--slate-400); }
  html[data-theme="dark"] .home-schedule-more:hover { color:var(--primary-dark); background:#1b1d20; }
  html[data-theme="dark"] .home-hero { border:none; background:linear-gradient(135deg, #3182f6, #1b64da); color:#fff; box-shadow:0 8px 24px rgba(49,130,246,.28); }
  html[data-theme="dark"] .home-hero:active { box-shadow:0 4px 12px rgba(49,130,246,.2); }
  html[data-theme="dark"] .home-hero-icon { background:rgba(255,255,255,.18); }
  html[data-theme="dark"] .home-hero-sub { color:rgba(255,255,255,.75); }
  html[data-theme="dark"] .home-hero-foot { border-top:1px solid rgba(255,255,255,.22); }
  html[data-theme="dark"] .home-hero-today b { color:rgba(255,255,255,.75); }
  html[data-theme="dark"] .home-hero-today .dash-sch-cnt { background:#1e2124; color:var(--primary); }
  html[data-theme="dark"] .home-hero-today .dash-sch-cnt.zero { background:rgba(255,255,255,.25); color:rgba(255,255,255,.85); }
  html[data-theme="dark"] .home-hero-today .home-sch-sep { color:rgba(255,255,255,.45); }
  html[data-theme="dark"] .home-hero-go { background:#1e2124; color:var(--primary); }
  html[data-theme="dark"] .home-version { color:var(--slate-400); }
  html[data-theme="dark"] .report-btn { border:none; border-top:1px solid #2f3337; background:#1e2124; }
  html[data-theme="dark"] .home-table > .report-btn:first-child { border-top:none; }
  html[data-theme="dark"] .report-btn:active { background:#1b1d20; }
  html[data-theme="dark"] .btn-icon-block { color:#fff; }
  html[data-theme="dark"] .report-btn.repair-btn  .btn-icon-block { background:var(--green); }
  html[data-theme="dark"] .report-btn.admin-btn   .btn-icon-block { background:var(--slate-500); }
  html[data-theme="dark"] .btn-body strong { color:var(--slate-800); }
  html[data-theme="dark"] .btn-body span { color:var(--slate-400); }
  html[data-theme="dark"] .report-btn.repair-btn  .btn-badge { background:var(--green-light); color:#97ede4; }
  html[data-theme="dark"] .report-btn.admin-btn   .btn-badge { background:var(--slate-100); color:var(--slate-600); }
  html[data-theme="dark"] .app-header { color:#fff; box-shadow:0 1px 8px rgba(25,31,40,0.08); }
  html[data-theme="dark"] .app-header.green { background:var(--green); }
  html[data-theme="dark"] .back-btn { background:rgba(255,255,255,0.18); border:none; color:#fff; }
  html[data-theme="dark"] .back-btn:active { background:rgba(30,33,36,0.3); }
  html[data-theme="dark"] .server-info-bar { color:var(--slate-500); background:#1e2124; border:1px solid var(--slate-200); }
  html[data-theme="dark"] .server-info-label { color:var(--slate-600); }
  html[data-theme="dark"] .server-info-track { background:var(--slate-200); }
  html[data-theme="dark"] .progress-wrap { background:var(--slate-200); }
  html[data-theme="dark"] .progress-bar { background:var(--primary); }
  html[data-theme="dark"] .wk-header { background:rgba(27,29,32,0.92); border-bottom:1px solid var(--slate-200); }
  html[data-theme="dark"] .wk-back-btn { background:#1e2124; border:1px solid var(--slate-200); color:var(--slate-600); }
  html[data-theme="dark"] .wk-back-btn:active { background:var(--slate-100); }
  html[data-theme="dark"] .wk-title { color:var(--slate-900); }
  html[data-theme="dark"] .wk-logout-btn { background:#1e2124; border:1px solid var(--slate-200); color:var(--slate-600); }
  html[data-theme="dark"] .wk-logout-btn:active { background:var(--slate-100); }
  html[data-theme="dark"] .wk-worker-chip { background:#1e2124; border:1px solid var(--slate-200); }
  html[data-theme="dark"] .wk-worker-avatar { background:var(--primary-light); color:var(--primary); }
  html[data-theme="dark"] .wk-worker-chip span:last-child { color:var(--slate-600); }
  html[data-theme="dark"] .wk-header.green .wk-title { color:var(--green); }
  html[data-theme="dark"] .wk-header.green .wk-worker-avatar { background:var(--green-light); color:var(--green); }
  html[data-theme="dark"] #maintenanceScreen .section-card { box-shadow:0 1px 2px rgba(25,31,40,.04), 0 8px 20px rgba(25,31,40,.04); }
  html[data-theme="dark"] #maintenanceScreen .s-icon { background:var(--primary-light); color:var(--primary); }
  html[data-theme="dark"] .section-card { background:#1e2124; box-shadow:var(--shadow-sm); border:1px solid var(--slate-200); }
  html[data-theme="dark"] .section-header { background:var(--slate-50); border-bottom:1px solid var(--slate-200); }
  html[data-theme="dark"] .section-header h2 { color:var(--slate-700); }
  html[data-theme="dark"] .section-header .s-badge { background:var(--slate-200); color:var(--slate-500); }
  html[data-theme="dark"] .section-header .s-badge.ok { background:#1c422f; color:#a3efda; }
  html[data-theme="dark"] #atab-orders .section-header, html[data-theme="dark"] #atab-reports .section-header { border-bottom-color:transparent; }
  html[data-theme="dark"] .field-label { color:var(--slate-500); }
  html[data-theme="dark"] .field-label .req { color:var(--danger); }
  html[data-theme="dark"] .field-input { border:1.5px solid var(--slate-200); color:var(--slate-800); background:#1e2124; outline:none; }
  html[data-theme="dark"] .field-input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(49,130,246,0.12); }
  html[data-theme="dark"] .field-input::placeholder { color:var(--slate-400); }
  html[data-theme="dark"] .ac-dropdown { background:#1e2124; border:1.5px solid #25466f; box-shadow:0 8px 28px rgba(37,99,235,0.12); }
  html[data-theme="dark"] .ac-dropdown li:hover { background:#192739; }
  html[data-theme="dark"] .ac-store { color:var(--slate-800); }
  html[data-theme="dark"] .ac-meta { color:#a7acb6; }
  html[data-theme="dark"] .ac-brand { color:#7291e6; }
  html[data-theme="dark"] .ac-code { color:#9ca3af; }
  html[data-theme="dark"] .order-card { border:1.5px solid var(--slate-200); background:#1e2124; }
  html[data-theme="dark"] .order-card.is-urgent { border-color:#782828; box-shadow:0 0 0 1px #652222; }
  html[data-theme="dark"] .order-card.is-incomplete, html[data-theme="dark"] .order-card.is-done.is-incomplete { border-color:#782828; box-shadow:0 0 0 1px #652222; }
  html[data-theme="dark"] .order-card.has-photos { border-color:#6ee7b7; box-shadow:0 0 0 1px #246b47; }
  html[data-theme="dark"] .order-card.is-done { border-color:var(--slate-300); }
  html[data-theme="dark"] .order-card.is-linked { border-color:#a78bfa; box-shadow:0 0 0 1px #2d2163; }
  html[data-theme="dark"] .link-badge { background:#7c3aed; color:#fff; }
  html[data-theme="dark"] .order-no-badge { background:var(--primary); color:#fff; }
  html[data-theme="dark"] .order-no-badge.done { background:var(--slate-400); }
  html[data-theme="dark"] .order-no-badge.po { background:#7c3aed; }
  html[data-theme="dark"] .order-meta .o-work { color:var(--slate-800); }
  html[data-theme="dark"] .order-meta .o-desc { color:var(--slate-500); }
  html[data-theme="dark"] .photo-chip.zero { background:var(--slate-100); color:var(--slate-400); }
  html[data-theme="dark"] .photo-chip.has { background:#1c422f; color:#a3efda; }
  html[data-theme="dark"] .photo-chip.done { background:#1a223d; color:#8f8adc; }
  html[data-theme="dark"] .photo-chip.incomplete { background:var(--slate-100); color:var(--slate-600); }
  html[data-theme="dark"] .order-arrow { color:var(--slate-500); }
  html[data-theme="dark"] .woc-top { border-bottom:1px solid var(--slate-200); }
  html[data-theme="dark"] .woc-arrow-col { border-left:1px solid var(--slate-200); }
  html[data-theme="dark"] .order-card-body { border-top:1px solid var(--slate-200); background:var(--slate-50); }
  html[data-theme="dark"] .od-chip { background:#1e2124; border:1px solid var(--slate-200); color:var(--slate-600); }
  html[data-theme="dark"] .order-desc-text { color:var(--slate-600); background:#1e2124; border:1px solid var(--slate-200); }
  html[data-theme="dark"] .ba-wrap .ba-col:first-child { background:#192739; border:1px solid #224067; }
  html[data-theme="dark"] .ba-wrap .ba-col:last-child { background:#193b2b; border:1px solid #246b47; }
  html[data-theme="dark"] .ba-title.before { color:#6990e5; }
  html[data-theme="dark"] .ba-title.after { color:#91ecd0; }
  html[data-theme="dark"] .ba-dot.before { background:#2563eb; }
  html[data-theme="dark"] .ba-dot.after { background:#059669; }
  html[data-theme="dark"] .ba-sub { color:var(--slate-500); }
  html[data-theme="dark"] .photo-del { background:rgba(40,43,47,0.6); color:#fff; border:none; }
  html[data-theme="dark"] .photo-thumb .photo-del { background:#ef4444; }
  html[data-theme="dark"] .photo-thumb-failed { outline:2px solid #ef4444; }
  html[data-theme="dark"] .photo-thumb-overlay { background:rgba(255,255,255,0.5); color:#fff; }
  html[data-theme="dark"] .photo-retry { background:rgba(220,38,38,0.85); color:#fff; border:none; }
  html[data-theme="dark"] .photo-save { background:rgba(40,43,47,0.6); color:#fff; border:none; }
  html[data-theme="dark"] .ba-act-btn { border:1.5px solid var(--slate-200); background:#1e2124; }
  html[data-theme="dark"] .ba-act-btn.cam { border-color:#93c5fd; color:#7291e6; background:#192739; }
  html[data-theme="dark"] .ba-act-btn.gal { border-color:var(--slate-300); color:var(--slate-600); background:#1e2124; }
  html[data-theme="dark"] .storemap-empty { color:var(--slate-400); }
  html[data-theme="dark"] .storemap-card { background:#1e2124; border:1px solid var(--slate-200); }
  html[data-theme="dark"] .storemap-card:hover { box-shadow:var(--shadow-lg); }
  html[data-theme="dark"] .storemap-card-media { background:var(--slate-100); }
  html[data-theme="dark"] .storemap-card-noimg { color:var(--slate-300); }
  html[data-theme="dark"] .storemap-card-photocount { background:rgba(40,43,47,0.6); color:#fff; }
  html[data-theme="dark"] .storemap-card-store { color:#e56ea3; }
  html[data-theme="dark"] .storemap-card-title { color:var(--slate-900); }
  html[data-theme="dark"] .storemap-card-content { color:var(--slate-600); }
  html[data-theme="dark"] .storemap-card-foot { color:var(--slate-400); }
  html[data-theme="dark"] .order-note-label { color:var(--slate-500); }
  html[data-theme="dark"] .order-note-input { border:1.5px solid var(--slate-200); color:var(--slate-800); background:#1e2124; outline:none; }
  html[data-theme="dark"] .order-note-input:focus { border-color:var(--primary); }
  html[data-theme="dark"] .order-note-input::placeholder { color:var(--slate-400); }
  html[data-theme="dark"] .order-submit-btn { background:var(--green); color:#fff; border:none; }
  html[data-theme="dark"] .order-submit-btn:disabled { background:var(--slate-300); }
  html[data-theme="dark"] .order-submit-btn[id^="wsub-"]:not(:disabled) { background:var(--primary); }
  html[data-theme="dark"] .upload-progress { background:var(--slate-200); }
  html[data-theme="dark"] .upload-progress-bar { background:var(--primary); }
  html[data-theme="dark"] .footer-bar { background:rgba(30,33,36,0.95); border-top:1px solid var(--slate-200); }
  html[data-theme="dark"] .btn-submit { background:var(--primary); color:#fff; border:none; box-shadow:none; }
  html[data-theme="dark"] .btn-submit:active { background:var(--primary-dark); }
  html[data-theme="dark"] .btn-submit:disabled { background:var(--slate-300); box-shadow:none; }
  html[data-theme="dark"] .preview-header { background:#282b2f; color:#fff; }
  html[data-theme="dark"] .btn-print { background:var(--primary); color:#fff; border:none; }
  html[data-theme="dark"] .a4-wrap { background:var(--slate-300); }
  html[data-theme="dark"] .admin-sidebar { background:#1b1d20; border-right:1px solid var(--slate-200); }
  html[data-theme="dark"] .admin-back-btn { border:none; background:var(--slate-100); color:var(--slate-600); }
  html[data-theme="dark"] .admin-back-btn:active { background:var(--slate-200); }
  html[data-theme="dark"] .admin-brand-mark { background:#282b2f; }
  html[data-theme="dark"] .admin-brand-name { color:var(--slate-900); }
  html[data-theme="dark"] .admin-brand-sub { color:var(--slate-400); }
  html[data-theme="dark"] .admin-nav { background:none; border-top:none; }
  html[data-theme="dark"] .admin-nav-btn { border:none; background:none; color:var(--slate-600); }
  html[data-theme="dark"] .admin-nav-btn.active { color:#fff; background:var(--primary); }
  html[data-theme="dark"] .admin-nav-btn:not(.active):hover { background:var(--slate-100); color:var(--slate-800); }
  html[data-theme="dark"] .admin-nav-badge.b-blue { background:linear-gradient(180deg,#4f97ff,var(--primary)); }
  html[data-theme="dark"] .admin-nav-badge.b-green { background:linear-gradient(180deg,#1fd9b6,var(--green)); }
  html[data-theme="dark"] .admin-nav-badge.b-purple { background:linear-gradient(180deg,#9161f2,var(--purple)); }
  html[data-theme="dark"] .admin-nav-badge.b-amber { background:linear-gradient(180deg,#ffc247,var(--amber)); }
  html[data-theme="dark"] .admin-nav-badge.b-red { background:linear-gradient(180deg,#f56b76,var(--danger)); }
  html[data-theme="dark"] .admin-nav-badge.b-pink { background:linear-gradient(180deg,#f472b6,#db2777); }
  html[data-theme="dark"] .admin-nav-badge.b-teal { background:linear-gradient(180deg,#2dd4bf,#0d9488); }
  html[data-theme="dark"] .admin-nav-badge.b-indigo { background:linear-gradient(180deg,#818cf8,#4f46e5); }
  html[data-theme="dark"] .admin-nav-badge.b-orange { background:linear-gradient(180deg,#fb923c,#ea580c); }
  html[data-theme="dark"] .admin-nav-badge.b-cyan { background:linear-gradient(180deg,#22d3ee,#0891b2); }
  html[data-theme="dark"] .admin-nav-divider { background:var(--slate-200); }
  html[data-theme="dark"] .admin-top-back { background:var(--slate-100); border:none; color:var(--slate-600); }
  html[data-theme="dark"] .admin-top h1 { color:var(--slate-900); }
  html[data-theme="dark"] #adminScreen .section-card { border:1px solid var(--slate-200); box-shadow:0 1px 2px rgba(25,31,40,.04), 0 8px 20px rgba(25,31,40,.04); }
  html[data-theme="dark"] #adminScreen .section-header { background:#1e2124; border-bottom:1px solid var(--slate-100); }
  html[data-theme="dark"] #adminScreen .s-icon { background:var(--primary-light); color:var(--primary); }
  html[data-theme="dark"] .upload-zone { border:2px dashed var(--slate-300); background:var(--slate-50); }
  html[data-theme="dark"] .upload-zone:hover, html[data-theme="dark"] .upload-zone.drag-over { border-color:var(--primary); background:var(--primary-light); }
  html[data-theme="dark"] .upload-zone h3 { color:var(--slate-700); }
  html[data-theme="dark"] .upload-zone p { color:var(--slate-500); }
  html[data-theme="dark"] .upload-zone .u-btn { background:var(--primary); color:#fff; }
  html[data-theme="dark"] .dash-stat-card { background:#1e2124; border:1px solid var(--slate-200); box-shadow:0 1px 2px rgba(25,31,40,.04); }
  html[data-theme="dark"] .dash-stat-card::before { background:var(--slate-300); }
  html[data-theme="dark"] .dash-stat-card .dash-stat-num { color:var(--slate-800); }
  html[data-theme="dark"] .dash-stat-card .dash-stat-label { color:var(--slate-500); }
  html[data-theme="dark"] .dash-stat-card.accent-primary .dash-stat-num { color:var(--primary); }
  html[data-theme="dark"] .dash-stat-card.accent-primary::before { background:var(--primary); }
  html[data-theme="dark"] .dash-stat-card.accent-green .dash-stat-num { color:var(--green); }
  html[data-theme="dark"] .dash-stat-card.accent-green::before { background:var(--green); }
  html[data-theme="dark"] .dash-stat-card.accent-amber .dash-stat-num { color:var(--amber); }
  html[data-theme="dark"] .dash-stat-card.accent-amber::before { background:var(--amber); }
  html[data-theme="dark"] .dash-stat-card.accent-danger .dash-stat-num { color:var(--danger); }
  html[data-theme="dark"] .dash-stat-card.accent-danger::before { background:var(--danger); }
  html[data-theme="dark"] .dash-stat-card.accent-purple .dash-stat-num { color:var(--purple); }
  html[data-theme="dark"] .dash-stat-card.accent-purple::before { background:var(--purple); }
  html[data-theme="dark"] .dash-stat-card .dash-stat-diff.up { color:var(--danger); }
  html[data-theme="dark"] .dash-stat-card .dash-stat-diff.down { color:var(--primary); }
  html[data-theme="dark"] .dash-stat-card .dash-stat-diff.same { color:var(--slate-400); }
  html[data-theme="dark"] .dash-list-empty { color:var(--gray-400); }
  html[data-theme="dark"] .dash-schedule-card { border:1px solid var(--slate-200); background:#1e2124; }
  html[data-theme="dark"] .dash-schedule-card .dash-sch-dday { color:var(--primary); background:var(--primary-light); }
  html[data-theme="dark"] .dash-schedule-card .dash-sch-site { color:var(--slate-700); }
  html[data-theme="dark"] .dash-schedule-card .dash-sch-date { color:var(--slate-400); }
  html[data-theme="dark"] .admin-table th { background:var(--slate-50); border-bottom:1px solid var(--slate-200); color:var(--slate-600); }
  html[data-theme="dark"] .admin-table td { border-bottom:1px solid var(--slate-100); }
  html[data-theme="dark"] .admin-table tr:hover td { background:var(--slate-50); }
  html[data-theme="dark"] .tbl-btn { border:none; background:var(--slate-100); color:var(--slate-600); }
  html[data-theme="dark"] .tbl-btn:hover { background:var(--slate-200); }
  html[data-theme="dark"] .tbl-btn-primary { background:var(--primary); color:#fff; }
  html[data-theme="dark"] .tbl-btn-danger { background:#3d1a1a; color:#ea8989; }
  html[data-theme="dark"] #atab-orders .tbl-btn:not(.tbl-btn-primary):not(.tbl-btn-danger), html[data-theme="dark"] #atab-reports .tbl-btn:not(.tbl-btn-primary):not(.tbl-btn-danger), html[data-theme="dark"] #atab-repair .tbl-btn:not(.tbl-btn-primary):not(.tbl-btn-danger) { background:#1e2124; border:1px solid var(--slate-200); }
  html[data-theme="dark"] #atab-orders #adminOrdersBody .tbl-btn.og-btn, html[data-theme="dark"] #atab-reports #adminReportsBody .tbl-btn.og-btn { border-color:transparent; }
  html[data-theme="dark"] #atab-orders #adminOrdersBody .tbl-btn.og-btn-off, html[data-theme="dark"] #atab-reports #adminReportsBody .tbl-btn.og-btn-off { background:transparent; color:var(--slate-500); }
  html[data-theme="dark"] #atab-orders #adminOrdersBody .tbl-btn.og-btn-off:not(:disabled):hover { background:var(--slate-100); }
  html[data-theme="dark"] #atab-orders .admin-table tbody tr:has(.order-check:checked) td, html[data-theme="dark"] #atab-reports .admin-table tbody tr:has(.report-check:checked) td, html[data-theme="dark"] #atab-repair .admin-table tbody tr:has(.repair-check:checked) td { background:rgba(49,130,246,.08); }
  html[data-theme="dark"] #atab-orders .admin-table tbody tr:has(.order-check:checked) td:first-child, html[data-theme="dark"] #atab-reports .admin-table tbody tr:has(.report-check:checked) td:first-child, html[data-theme="dark"] #atab-repair .admin-table tbody tr:has(.repair-check:checked) td:first-child { box-shadow:inset 3px 0 0 var(--primary); }
  html[data-theme="dark"] .msg-box.error { background:#3d1a1a; color:#ea8989; border:1px solid #782828; }
  html[data-theme="dark"] .msg-box.success { background:#1c422f; color:#a3efda; border:1px solid #6ee7b7; }
  html[data-theme="dark"] .modal-overlay { background:rgba(15,23,42,.5); }
  html[data-theme="dark"] .modal-box { background:#1e2124; box-shadow:var(--shadow-lg); }
  html[data-theme="dark"] .modal-head { border-bottom:1px solid var(--slate-200); background:#1e2124; }
  html[data-theme="dark"] .modal-head h3 { color:var(--slate-800); }
  html[data-theme="dark"] .modal-close { background:var(--slate-100); border:none; color:var(--slate-500); }
  html[data-theme="dark"] .modal-close:hover { background:var(--slate-200); }
  @media (max-width: 640px) {
    html[data-theme="dark"] .admin-sidebar { border-right:none; border-top:1px solid var(--slate-200); border-bottom:none; background:rgba(27,29,32,0.96); box-shadow:0 -1px 8px rgba(25,31,40,0.06); }
    html[data-theme="dark"] .admin-nav-divider { background:var(--slate-300); }
  }
  @media print {
    html[data-theme="dark"] body { background:#1e2124; }
    html[data-theme="dark"] .a4-wrap { background:#1e2124; }
  }
  html[data-theme="dark"] .sch-cal-head { border-bottom:1px solid var(--slate-200); }
  html[data-theme="dark"] .sch-cal-nav button { border:1px solid var(--gray-300); background:#1e2124; }
  html[data-theme="dark"] .sch-cal-label { color:var(--slate-700); }
  html[data-theme="dark"] .sch-cal-grid { border-top:1px solid var(--slate-200); border-left:1px solid var(--slate-200); }
  html[data-theme="dark"] .sch-cal-dow { color:var(--gray-400); border-right:1px solid var(--slate-200); border-bottom:1px solid var(--slate-200); background:var(--slate-50); }
  html[data-theme="dark"] .sch-cal-cell { border-right:1px solid var(--slate-200); border-bottom:1px solid var(--slate-200); }
  html[data-theme="dark"] .sch-cal-cell.empty { background:var(--slate-50); }
  html[data-theme="dark"] .sch-cal-cell.other-month { background:var(--slate-50); }
  html[data-theme="dark"] .sch-cal-cell.drag-over { background:var(--primary-light); outline:2px dashed var(--primary); }
  html[data-theme="dark"] .sch-cal-daynum { color:var(--gray-400); }
  html[data-theme="dark"] .sch-cal-cell.holiday .sch-cal-daynum { color:var(--danger); }
  html[data-theme="dark"] .sch-cal-cell.today .sch-cal-daynum { background:var(--primary); color:#fff; }
  html[data-theme="dark"] .sch-cal-holiday { color:var(--danger); }
  html[data-theme="dark"] .sch-chip { background:var(--green-light); color:#a3efda; }
  html[data-theme="dark"] .sch-chip.event { background:#20193b; color:#a77de7; }
  html[data-theme="dark"] .sch-chip.memo { background:var(--slate-100); color:var(--slate-500); }
  html[data-theme="dark"] .sch-chip button { background:none; border:none; color:inherit; }
  html[data-theme="dark"] .sch-chip.drop-before { box-shadow:0 -2px 0 var(--primary); }
  html[data-theme="dark"] .sch-chip.drop-after { box-shadow:0 2px 0 var(--primary); }
  html[data-theme="dark"] .sch-chip.drop-merge { outline:2px solid var(--primary); }
  html[data-theme="dark"] .sch-dw-item { background:#1e2124; border:1px solid var(--gray-200); color:var(--gray-700); }
  html[data-theme="dark"] .sch-dw-item.on { background:var(--primary); border-color:var(--primary); color:#fff; }
  html[data-theme="dark"] .sch-dw-input { border:none; outline:none; color:var(--slate-800); background:transparent; }
  html[data-theme="dark"] .sch-roster-wrap { border-top:1px solid var(--slate-200); background:var(--slate-50); }
  html[data-theme="dark"] .sch-roster-title { color:var(--slate-500); }
  html[data-theme="dark"] .sch-archive-wrap { border-top:1px solid var(--slate-200); }
  html[data-theme="dark"] .sch-archive-wrap.drag-over { background:var(--primary-light); outline:2px dashed var(--primary); }
  html[data-theme="dark"] .sch-archive .sch-chip.drop-left { box-shadow:-2px 0 0 var(--primary); }
  html[data-theme="dark"] .sch-archive .sch-chip.drop-right { box-shadow:2px 0 0 var(--primary); }
  html[data-theme="dark"] .sch-memo-wrap { border-top:1px solid var(--slate-200); }
  html[data-theme="dark"] .sch-memo-status { color:var(--slate-400); }
  html[data-theme="dark"] .sch-worker-stats { color:var(--slate-700); }
  html[data-theme="dark"] .sch-worker-table th, html[data-theme="dark"] .sch-worker-table td { border:1px solid var(--slate-200); }
  html[data-theme="dark"] .sch-worker-table th { background:var(--slate-100); color:var(--slate-500); }
  html[data-theme="dark"] .sch-memo { border:1px solid var(--slate-200); color:var(--slate-700); background:#1e2124; outline:none; }
  html[data-theme="dark"] .sch-memo:focus { border-color:#3182f6; }
  html[data-theme="dark"] .sch-memo-tools button { border:1px solid var(--slate-200); background:#1e2124; color:var(--slate-600); }
  html[data-theme="dark"] .sch-memo-tools button:hover { background:#192a3b; border-color:#3182f6; color:#6197e3; }
  html[data-theme="dark"] .sch-roster-item { background:#1e2124; border:1.5px solid var(--green); color:#a3efda; }
  html[data-theme="dark"] .sch-roster-item .rb { color:var(--slate-400); }
  html[data-theme="dark"] .sch-roster-item.placed { background:var(--slate-100); border-color:var(--slate-300); color:var(--slate-500); }
  html[data-theme="dark"] .sch-roster-item.placed .rb { color:var(--slate-400); }
  html[data-theme="dark"] #dayEventColorCustom::-webkit-color-swatch { border:none; }
  html[data-theme="dark"] #dayEventColorCustom::-moz-color-swatch { border:none; }
  html[data-theme="dark"] .ptr-indicator { background:#1e2124; box-shadow:0 2px 8px rgba(0,0,0,.2); color:#6990e5; }
  html[data-theme="dark"] .ifc-sub { color:#98a0ab; }
  html[data-theme="dark"] #atab-ifcExcel input, html[data-theme="dark"] #atab-ifcExcel select { border:1.5px solid #34373c; color:#ebedef; background:#1e2124; outline:none; }
  html[data-theme="dark"] #atab-ifcExcel input:focus, html[data-theme="dark"] #atab-ifcExcel select:focus { border-color:var(--primary); }
  html[data-theme="dark"] #atab-ifcExcel input::placeholder { color:#b0b8c1; }
  html[data-theme="dark"] .ifc-table { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] .ifc-cell { background:#1e2124; }
  html[data-theme="dark"] .ifc-th { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #atab-ifcExcel .ifc-table input, html[data-theme="dark"] #atab-ifcExcel .ifc-table select { border:none; background:#1e2124; }
  html[data-theme="dark"] #atab-ifcExcel .ifc-table input:focus { background:var(--primary-light); }
  html[data-theme="dark"] .ifc-dt > div { background:#222428; }
  html[data-theme="dark"] .ifc-lbl { color:#a5adb6; }
  html[data-theme="dark"] .ifc-lbl em { color:#98a0ab; }
  html[data-theme="dark"] .ifc-checks label { color:#a5adb6; }
  html[data-theme="dark"] .ifc-checks label:has(input:checked) { color:#ebedef; }
  html[data-theme="dark"] .ifc-wtable { background:#1e2124; }
  html[data-theme="dark"] .ifc-whead { background:#1b1d20; border-bottom:1px solid #34373c; color:#a5adb6; }
  html[data-theme="dark"] .ifc-wrow { border-top:1px solid #2f3337; }
  html[data-theme="dark"] .ifc-wrow:first-child { border-top:none; }
  html[data-theme="dark"] #atab-ifcExcel .ifc-wrow input { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] .ifc-no { background:#192a3b; color:var(--primary); }
  html[data-theme="dark"] .ifc-wdel { border:none; background:#1e2124; color:#e25d68; box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] .ifc-wdel:hover { background:#3a191d; }
  html[data-theme="dark"] #ifcStatus { color:#98a0ab; }
  html[data-theme="dark"] .ifc-save-btn { border:none; background:var(--primary); color:#fff; box-shadow:0 4px 12px rgba(49,130,246,.25); }
  html[data-theme="dark"] .ifc-save-btn:hover { background:var(--primary-dark); }
  @media (max-width:640px) {
    html[data-theme="dark"] #atab-ifcExcel .ifc-wrow input { box-shadow:inset 1px 1px 0 #2f3337; }
    html[data-theme="dark"] #atab-ifcExcel .ifc-wrow .ifc-ac input, html[data-theme="dark"] #atab-ifcExcel .ifc-wrow > input:nth-of-type(1) { box-shadow:inset 1px 0 0 #2f3337; }
  }
  html[data-theme="dark"] #atab-upload .admin-table th, html[data-theme="dark"] #atab-orders .admin-table th, html[data-theme="dark"] #atab-reports .admin-table th, html[data-theme="dark"] #atab-repair .admin-table th { background:#1b1d20; color:#a5adb6; border-bottom:1px solid #34373c; }
  html[data-theme="dark"] #atab-upload .admin-table td, html[data-theme="dark"] #atab-orders .admin-table td, html[data-theme="dark"] #atab-reports .admin-table td, html[data-theme="dark"] #atab-repair .admin-table td { border-bottom:1px solid #2f3337; }
  html[data-theme="dark"] #atab-upload .admin-table tr:hover td, html[data-theme="dark"] #atab-orders .admin-table tr:hover td, html[data-theme="dark"] #atab-reports .admin-table tr:hover td, html[data-theme="dark"] #atab-repair .admin-table tr:hover td { background:#1b1d20; }
  @media (min-width:641px) {
    html[data-theme="dark"] #atab-upload .admin-table th + th, html[data-theme="dark"] #atab-orders .admin-table th + th, html[data-theme="dark"] #atab-reports .admin-table th + th, html[data-theme="dark"] #atab-repair .admin-table th + th, html[data-theme="dark"] #atab-upload .admin-table td + td, html[data-theme="dark"] #atab-orders .admin-table td + td, html[data-theme="dark"] #atab-reports .admin-table td + td, html[data-theme="dark"] #atab-repair .admin-table td + td { border-left:1px solid #2f3337; }
  }
  html[data-theme="dark"] #atab-upload .field-row { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #atab-upload .section-body > .field-group, html[data-theme="dark"] #moPaneManual > .field-group { border:1px solid #34373c; }
  html[data-theme="dark"] #atab-upload .field-group { background:#1e2124; }
  html[data-theme="dark"] #atab-upload .field-label { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #atab-upload .field-input { border:none; box-shadow:none; }
  html[data-theme="dark"] #atab-upload .field-input:focus { background:var(--primary-light); box-shadow:none; }
  html[data-theme="dark"] #atab-schedule .sch-cal-grid { border-color:#2f3337; }
  html[data-theme="dark"] #atab-schedule .sch-cal-dow { background:#1b1d20; color:#a5adb6; border-right-color:#2f3337; border-bottom-color:#34373c; }
  html[data-theme="dark"] #atab-schedule .sch-cal-cell { border-color:#2f3337; }
  html[data-theme="dark"] #atab-schedule .sch-cal-cell.empty { background:#1c1e21; }
  html[data-theme="dark"] #atab-schedule .sch-memo { border:1px solid #34373c; }
  html[data-theme="dark"] #atab-schedule .sch-memo:focus { border-color:var(--primary); }
  html[data-theme="dark"] #atab-upload .dash-stat-grid, html[data-theme="dark"] #atab-upload .dash-schedule-grid { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #atab-upload .dash-stat-card { border:none; box-shadow:none; background:#1e2124; }
  html[data-theme="dark"] #atab-upload .dash-stat-card .dash-stat-label { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #atab-upload .dash-schedule-card { border:none; background:#1e2124; }
  html[data-theme="dark"] #atab-upload .dash-list-empty { background:#1e2124; }
  html[data-theme="dark"] #atab-schedule .sch-cal-scroll { border:1px solid #34373c; }
  html[data-theme="dark"] #atab-schedule .sch-cal-grid { border-top:none; border-left:none; }
  html[data-theme="dark"] #atab-schedule .sch-cal-grid > :nth-child(7n) { border-right:none; }
  html[data-theme="dark"] #atab-schedule #scheduleCalendar > :nth-last-child(-n+7) { border-bottom:none; }
  html[data-theme="dark"] #atab-schedule .sch-cal-nav button, html[data-theme="dark"] #atab-schedule .sch-cal-head button { border:1px solid var(--slate-200); background:#1e2124; }
  html[data-theme="dark"] #atab-schedule .sch-memo-tools { background:#1b1d20; border:1px solid #34373c; border-bottom:1px solid #2f3337; }
  html[data-theme="dark"] #atab-schedule .sch-memo-tools:empty + .sch-memo { border-top:1px solid #34373c; }
  html[data-theme="dark"] #atab-schedule .sch-memo { border-top:none; }
  html[data-theme="dark"] #atab-schedule .sch-memo:focus { border-color:#34373c; background:#1b1d20; }
  html[data-theme="dark"] #repairScreen .rp-table { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #repairScreen .rp-table .field-group { background:#1e2124; }
  html[data-theme="dark"] #repairScreen .rp-table .field-label { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #repairScreen .rp-table .field-input { border:none; box-shadow:none; background:#1e2124; }
  html[data-theme="dark"] #repairScreen .rp-table .field-input:focus { background:var(--green-light); box-shadow:none; }
  html[data-theme="dark"] #repairScreen .rp-table .field-input:disabled { background:#1e2124; color:var(--slate-400); }
  html[data-theme="dark"] #repairScreen .rp-card, html[data-theme="dark"] #maintenanceScreen .rp-card { background:none; border:none; box-shadow:none; }
  html[data-theme="dark"] #repairScreen .rp-card .section-header, html[data-theme="dark"] #maintenanceScreen .rp-card .section-header { background:none; border:none; }
  html[data-theme="dark"] #maintenanceScreen .rp-card .wk-filter { background:none !important; border:none !important; }
  html[data-theme="dark"] #maintenanceScreen .rp-card:has(#poBody) { border-top:1px solid #34373c; }
  html[data-theme="dark"] #repairScreen #rBlockList > div { background:#1e2124; border:1px solid #34373c !important; }
  html[data-theme="dark"] #maintenanceScreen .oc-table, html[data-theme="dark"] #modalBody .oc-table { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #maintenanceScreen .oc-cell, html[data-theme="dark"] #modalBody .oc-cell { background:#1e2124; }
  html[data-theme="dark"] #maintenanceScreen .oc-th, html[data-theme="dark"] #modalBody .oc-th { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #maintenanceScreen .oc-hint { color:#b0b8c1; }
  html[data-theme="dark"] #maintenanceScreen .oc-fold:not([open]) > summary { border-bottom:none; }
  html[data-theme="dark"] #maintenanceScreen .oc-fold-val { color:#b9c2cf; }
  html[data-theme="dark"] #maintenanceScreen .oc-td, html[data-theme="dark"] #modalBody .oc-td { color:#b9c2cf; }
  html[data-theme="dark"] #maintenanceScreen .oc-cell .field-input, html[data-theme="dark"] #maintenanceScreen .oc-cell .order-note-input { border:none; box-shadow:none; background:#1e2124; }
  html[data-theme="dark"] #maintenanceScreen .oc-cell .field-input:focus, html[data-theme="dark"] #maintenanceScreen .oc-cell .order-note-input:focus { background:var(--primary-light); box-shadow:none; }
  html[data-theme="dark"] #atab-ifcExcel .ifc-chev { color:#98a0ab; }
  html[data-theme="dark"] .ifc-dd { background:#1e2124; border:1px solid #34373c; box-shadow:0 12px 32px rgba(25,31,40,.12); }
  html[data-theme="dark"] .ifc-dd-group { color:#98a0ab; background:#1e2124; }
  html[data-theme="dark"] .ifc-dd-item:hover { background:#17191b; }
  html[data-theme="dark"] .ifc-dd-item.selected { background:var(--primary-light); }
  html[data-theme="dark"] .ifc-dd-item .wn { color:#ebedef; }
  html[data-theme="dark"] .ifc-dd-item .ph { color:var(--primary); }
  html[data-theme="dark"] .ifc-dd-item .car { color:#98a0ab; }
  html[data-theme="dark"] .ifc-dd-item .used-tag { color:#a5adb6; background:#17191b; }
  html[data-theme="dark"] .ifc-dd-empty { color:#98a0ab; }
  html[data-theme="dark"] #atab-upload .hw-table { border:1px solid #34373c; }
  html[data-theme="dark"] #atab-upload .hw-table .admin-table td { color:var(--slate-700); }
  html[data-theme="dark"] #atab-upload .hw-table .admin-table td:first-child { color:#ebedef; }
  html[data-theme="dark"] #atab-upload .hw-table tbody tr:last-child td { border-bottom:none; }
  html[data-theme="dark"] #atab-upload .hw-del button { border:none; background:none; color:#e25d68; }
  html[data-theme="dark"] #atab-upload .hw-del button:hover { background:#3a191d; }
  html[data-theme="dark"] #atab-upload .hw-table .admin-table th + th, html[data-theme="dark"] #atab-upload .hw-table .admin-table td + td { border-left:1px solid #2f3337; }
  html[data-theme="dark"] #atab-upload .dash-schedule-grid { background:#1e2124; }
  html[data-theme="dark"] #atab-upload .dash-schedule-grid .dash-schedule-card { border-right:1px solid #2f3337; }
  html[data-theme="dark"] #atab-upload .dash-schedule-grid .dash-schedule-card:nth-child(4) { border-right:none; }
  html[data-theme="dark"] .dash-sch-workers { color:var(--slate-500); }
  html[data-theme="dark"] .dash-sch-cnt { background:var(--primary); color:#fff; }
  html[data-theme="dark"] .dash-sch-cnt.zero { background:#26292d; color:#98a0ab; }
  html[data-theme="dark"] .dash-elev-more { border:none; background:none; color:var(--slate-400); }
  html[data-theme="dark"] .dash-elev-more:hover { color:var(--primary); }
  html[data-theme="dark"] .dash-elev-grid { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] .dash-elev-card { background:#1e2124; }
  html[data-theme="dark"] .dash-elev-name { color:var(--slate-700); }
  html[data-theme="dark"] .dash-elev-bar { background:#222428; }
  html[data-theme="dark"] .dash-elev-bar > div { background:var(--primary); }
  html[data-theme="dark"] .dash-elev-dday { color:var(--primary); }
  html[data-theme="dark"] .dash-elev-card.soon .dash-elev-dday { color:#e7c277; }
  html[data-theme="dark"] .dash-elev-card.soon .dash-elev-bar > div { background:#e89b00; }
  html[data-theme="dark"] .dash-elev-card.over .dash-elev-dday { color:var(--danger); }
  html[data-theme="dark"] .dash-elev-card.over .dash-elev-bar > div { background:var(--danger); }
  html[data-theme="dark"] .dash-elev-grid .dash-list-empty { background:#1e2124; }
  html[data-theme="dark"] .dash-elev-card.empty:hover { background:#1e2124; }
  html[data-theme="dark"] .po-line-date { border:none; background:transparent; color:var(--slate-700); }
  html[data-theme="dark"] #atab-patrolCheck input, html[data-theme="dark"] #atab-patrolCheck select { border:none; color:#ebedef; background:#1e2124; outline:none; }
  html[data-theme="dark"] #atab-patrolCheck input:focus, html[data-theme="dark"] #atab-patrolCheck select:focus { background:var(--primary-light); }
  html[data-theme="dark"] #atab-patrolCheck input::placeholder { color:#b0b8c1; }
  html[data-theme="dark"] .pc-table { background:#1e2124; }
  html[data-theme="dark"] .pc-head { background:#1b1d20; border-bottom:1px solid #34373c; color:#a5adb6; }
  html[data-theme="dark"] .pc-row { border-top:1px solid #2f3337; }
  html[data-theme="dark"] #pcRows .pc-row:first-child { border-top:none; }
  html[data-theme="dark"] .pc-item { color:#afb7c3; }
  html[data-theme="dark"] .pc-item b { color:#ebedef; }
  html[data-theme="dark"] .pc-seg { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] .pc-seg button { border:1.5px solid #34373c; background:#1e2124; color:#a5adb6; }
  html[data-theme="dark"] .pc-seg button.on[data-v="G"] { border-color:var(--primary); background:var(--primary); color:#fff; }
  html[data-theme="dark"] .pc-seg button.on[data-v="H"] { border-color:#f04452; background:#f04452; color:#fff; }
  html[data-theme="dark"] #atab-patrolCheck .pc-row > input { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] .pc-sig { border:none; background:#1e2124; color:#b0b8c1; }
  html[data-theme="dark"] .pc-sig:hover { background:var(--primary-light); }
  html[data-theme="dark"] .pc-sig-x { color:#e25d68; }
  html[data-theme="dark"] .pc-sig-modal { background:rgba(255,255,255,0.5); }
  html[data-theme="dark"] .pc-sig-sheet { background:#1e2124; }
  html[data-theme="dark"] .pc-sig-title { color:#ebedef; }
  html[data-theme="dark"] .pc-sig-title span { color:#98a0ab; }
  html[data-theme="dark"] #pcSigCanvas { border:1.5px dashed #3f444a; background:#1e2124 linear-gradient(transparent calc(75% - 1px), #222428 calc(75% - 1px), #222428 75%, transparent 75%); }
  html[data-theme="dark"] .pc-sig-btns button { border:1.5px solid #34373c; background:#1e2124; color:#afb7c3; }
  html[data-theme="dark"] .pc-sig-btns .pc-sig-ok { border-color:var(--primary); background:var(--primary); color:#fff; }
  html[data-theme="dark"] .pc-all-btn { border:1.5px solid var(--primary); background:#1e2124; color:var(--primary); }
  html[data-theme="dark"] .pc-all-btn:hover { background:var(--primary-light); }
  @media (max-width:640px) {
    html[data-theme="dark"] .pc-seg { box-shadow:inset 0 1px 0 #2f3337; }
    html[data-theme="dark"] #atab-patrolCheck .pc-row > input { box-shadow:inset 1px 1px 0 #2f3337; }
  }
  html[data-theme="dark"] .wk-patrol-btn { border:none; background:#1e2124; color:#ebedef; box-shadow:0 1px 3px rgba(0,0,0,.06); }
  html[data-theme="dark"] .wk-patrol-btn > svg:first-child { color:#fff; background:#16a34a; }
  html[data-theme="dark"] .wk-patrol-btn .wk-patrol-chev { color:#b0b8c1; }
  html[data-theme="dark"] .wk-patrol-btn:active { background:#17191b; }
  html[data-theme="dark"] .pc-fold-btn { border:1px solid var(--slate-200); background:#1e2124; color:var(--slate-500); }
  html[data-theme="dark"] .pc-dl-btn { background:#1e2124; color:var(--primary); border:1.5px solid var(--primary); box-shadow:none; }
  html[data-theme="dark"] .pc-dl-btn:hover { background:var(--primary-light); }
  html[data-theme="dark"] .pc-list { border:1px solid #34373c; }
  html[data-theme="dark"] .pc-list-empty { color:#98a0ab; }
  html[data-theme="dark"] .pc-list-row { border-top:1px solid #2f3337; color:#ebedef; }
  html[data-theme="dark"] .pc-list-row:first-child { border-top:none; }
  html[data-theme="dark"] .pc-list-row > * + * { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] .pc-l-store em { color:#98a0ab; }
  html[data-theme="dark"] .pc-l-worker { color:#afb7c3; }
  html[data-theme="dark"] .pc-l-bad { color:#98a0ab; }
  html[data-theme="dark"] .pc-l-bad.on { color:#e25d68; }
  html[data-theme="dark"] .pc-l-xls { border:none; background:#1e2124; color:#87eaab; }
  html[data-theme="dark"] .pc-l-xls:hover { background:#191b1d; }
  html[data-theme="dark"] .pc-l-del { border:none; background:#1e2124; color:#e25d68; }
  html[data-theme="dark"] .pc-l-del:hover { background:#3a191d; }
  @media (max-width:640px) {
    html[data-theme="dark"] .pc-l-worker, html[data-theme="dark"] .pc-l-bad { box-shadow:inset 0 1px 0 #2f3337 !important; }
  }
  html[data-theme="dark"] .pc-sched-chip { border:1.5px solid #34373c; background:#1e2124; color:#b9c2cf; }
  html[data-theme="dark"] .pc-sched-chip:hover { border-color:var(--primary); }
  html[data-theme="dark"] .pc-sched-chip.on { border-color:var(--primary); background:var(--primary); color:#fff; }
  html[data-theme="dark"] .pc-sched-empty { color:#98a0ab; }
  html[data-theme="dark"] select.po-store-select { background:#1e2124 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 12px center; }
  html[data-theme="dark"] .po-store-confirm { background:#7c3aed; color:#fff; border:none; }
  html[data-theme="dark"] .backup-row { border-bottom:1px solid #2d3135; }
  html[data-theme="dark"] .backup-row:last-of-type { border-bottom:none; }
  html[data-theme="dark"] .backup-name strong { color:var(--slate-800); }
  html[data-theme="dark"] .backup-name span { color:#98a0ab; }
  html[data-theme="dark"] .backup-btn { border:none; background:var(--primary); color:#fff; }
  html[data-theme="dark"] .backup-btn:hover { background:var(--primary-dark); }
  html[data-theme="dark"] .backup-btn-sub { background:#17191b; color:var(--slate-800); }
  html[data-theme="dark"] .backup-btn-sub:hover { background:#26292d; }
  html[data-theme="dark"] .backup-status { color:#afb7c3; }
  html[data-theme="dark"] .backup-month { border:1px solid #34373c; color:var(--slate-800); background:#1e2124; }
  html[data-theme="dark"] .backup-log { background:#1b1d20; }
  html[data-theme="dark"] .backup-log-row { border-bottom:1px solid #2f3337; }
  html[data-theme="dark"] .backup-log-row:last-child { border-bottom:none; }
  html[data-theme="dark"] .backup-log-name { color:var(--slate-800); }
  html[data-theme="dark"] .backup-log-date { color:#98a0ab; }
  html[data-theme="dark"] .backup-log-del { border:none; background:#1a1c1f; color:#e56e6e; }
  html[data-theme="dark"] .backup-log-del:hover { background:#3d1a1a; }
  html[data-theme="dark"] .bv-drop { border:1.5px dashed #2c476f; background:#1d1f22; }
  html[data-theme="dark"] .bv-drop:hover, html[data-theme="dark"] .bv-drop.over { background:#19243a; border-color:var(--primary); }
  html[data-theme="dark"] .bv-drop strong { color:var(--slate-800); }
  html[data-theme="dark"] .bv-drop span { color:#98a0ab; }
  html[data-theme="dark"] .bv-list { border:1px solid #34373c; }
  html[data-theme="dark"] .bv-head { background:#1b1d20; border-bottom:1px solid #34373c; }
  html[data-theme="dark"] .bv-head b { color:var(--slate-800); }
  html[data-theme="dark"] .bv-head span { color:#a7acb6; }
  html[data-theme="dark"] .bv-close { border:none; background:#17191b; color:#afb7c3; }
  html[data-theme="dark"] .bv-month { background:#19243a; border-top:2px solid #253d6f; color:#91a7e7; }
  html[data-theme="dark"] .bv-month span { color:var(--slate-500); }
  html[data-theme="dark"] .bv-group { background:#1a1b1e; border-top:1px solid #34373c; }
  html[data-theme="dark"] .bv-chev { color:#8099e9; }
  html[data-theme="dark"] .bv-date { color:#6990e5; }
  html[data-theme="dark"] .bv-store { color:#91a7e7; }
  html[data-theme="dark"] .bv-cnt { color:#94a3b8; }
  html[data-theme="dark"] .bv-row { border-top:1px solid #2d3135; }
  html[data-theme="dark"] .bv-no { color:var(--slate-800); }
  html[data-theme="dark"] .bv-content { color:#b7bfce; }
  html[data-theme="dark"] .bv-meta { color:#a7acb6; }
  html[data-theme="dark"] .bv-msg { color:#afb7c3; }
  html[data-theme="dark"] .bv-err { color:#e56e6e; }
  html[data-theme="dark"] .ext-dl { background:var(--primary); color:#fff; }
  html[data-theme="dark"] .ext-dl:hover { background:var(--primary-dark); }
  html[data-theme="dark"] .ext-steps { border:1px solid #34373c; }
  html[data-theme="dark"] .ext-steps li { color:#b9c2cf; }
  html[data-theme="dark"] .ext-steps li + li { border-top:1px solid #2f3337; }
  html[data-theme="dark"] .ext-steps li::before { background:#192a3b; color:var(--primary); }
  html[data-theme="dark"] .ext-copy { border:1px solid #34373c; background:#1e2124; color:#a5adb6; }
  html[data-theme="dark"] .ext-copy:hover, html[data-theme="dark"] .ext-copy.done { color:var(--primary); border-color:var(--primary); }
  html[data-theme="dark"] .ext-note { color:#98a0ab; }
  html[data-theme="dark"] .dm-table { border:1px solid #34373c; }
  html[data-theme="dark"] .dm-table th { background:#1b1d20; border-right:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] .dm-table tr + tr th, html[data-theme="dark"] .dm-table tr + tr td { border-top:1px solid #2f3337; }
  html[data-theme="dark"] .dm-table input[type=text] { border:none; outline:none; color:var(--slate-800); background:transparent; }
  html[data-theme="dark"] .dm-table input[type=text]::placeholder { color:var(--slate-400); }
  html[data-theme="dark"] .dm-table tr:has(input[type=text]:focus) td { background:var(--primary-light); }
  html[data-theme="dark"] .dm-hint { color:#98a0ab; }
  html[data-theme="dark"] .dm-color-named { color:var(--slate-600); }
  html[data-theme="dark"] .dm-cn-editor { border:1px solid #2f3337; background:#1b1d20; }
  html[data-theme="dark"] .dm-table .dm-cn-row input[type=text] { border:1px solid var(--gray-200); background:#1e2124; }
  html[data-theme="dark"] .dm-cn-btns button { border:1px solid var(--gray-300); background:#1e2124; }
  html[data-theme="dark"] .dm-cn-btns button.on { background:var(--primary); border-color:var(--primary); color:#fff; }
  html[data-theme="dark"] .dm-urgent { color:#e56e6e; }
  html[data-theme="dark"] .dm-workplan { color:#e59c6a; }
  html[data-theme="dark"] .rf-cell { border:none; background:#1e2124; box-shadow:inset 1px 0 0 #2f3337, 0 1px 0 #2f3337; color:var(--slate-600); }
  html[data-theme="dark"] button.rf-cell:hover, html[data-theme="dark"] .rf-cell:has(> .rf-btn):hover { background:var(--slate-50); }
  html[data-theme="dark"] .rf-icon { color:var(--slate-500); }
  html[data-theme="dark"] .rf-count { color:#8099e9; }
  html[data-theme="dark"] .rf-blue { color:var(--primary); }
  html[data-theme="dark"] .rf-purple { color:#9161e3; }
  html[data-theme="dark"] .rf-purple:hover { background:#1b1c1f !important; }
  html[data-theme="dark"] .rf-green { color:#87eaab; }
  html[data-theme="dark"] .rf-green:hover { background:#191b1d !important; }
  html[data-theme="dark"] .rf-red { color:#e25d68; }
  html[data-theme="dark"] .rf-pdf { color:#8ecaeb; }
  html[data-theme="dark"] .rf-pdf:hover { background:#1a1b1e !important; }
  html[data-theme="dark"] .rf-toggle.on { color:var(--primary); background:var(--primary-light); }
  html[data-theme="dark"] .rf-toggle.on:hover { background:var(--primary-light) !important; }
  html[data-theme="dark"] .rf-red:hover { background:#3a191d !important; }
  html[data-theme="dark"] .rf-select-cell select { border:none; background:transparent; color:var(--slate-600); outline:none; }
  html[data-theme="dark"] .rf-search input { border:none; outline:none; background:transparent; color:var(--slate-700); }
  html[data-theme="dark"] .rf-count svg { color:#8099e9; }
  @media (min-width:641px) {
    html[data-theme="dark"] #atab-orders .admin-table th + th, html[data-theme="dark"] #atab-orders .admin-table td + td, html[data-theme="dark"] #atab-reports .admin-table th + th, html[data-theme="dark"] #atab-reports .admin-table td + td { border-left:none; }
  }
  html[data-theme="dark"] #atab-reports .admin-table tr.rm-month-hdr:hover td { background:transparent; }
  html[data-theme="dark"] .rm-all-btn { border:1px solid #253d6f; background:var(--primary-light); color:var(--primary); }
  html[data-theme="dark"] .rm-all-btn:hover { background:#1b2b40; }
  html[data-theme="dark"] #wpRoot { background:#16181a; }
  html[data-theme="dark"] #wpRoot { background:transparent; }
  html[data-theme="dark"] #wpRoot .tab-nav { background:#17191b; }
  html[data-theme="dark"] #wpRoot .card { background:#1e2124; box-shadow:0 2px 14px rgba(0,0,0,0.07); }
  html[data-theme="dark"] #wpRoot .card-title { color:#edeef0; }
  html[data-theme="dark"] #wpRoot .badge { background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .time-sel { color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .time-sel select { border:1.5px solid #34373c; background:#1e2124; color:#edeef0; outline:none; }
  html[data-theme="dark"] #wpRoot .time-sel select:focus { border-color:#3182f6; }
  html[data-theme="dark"] #wpRoot label { color:#babfc7; }
  html[data-theme="dark"] #wpRoot input[type="text"], html[data-theme="dark"] #wpRoot input[type="date"], html[data-theme="dark"] #wpRoot input[type="time"] { border:1.5px solid #383b41; color:#edeef0; outline:none; background:#1b1d20; }
  html[data-theme="dark"] #wpRoot input:focus { border-color:#3182f6; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .dropdown { background:#1e2124; border:1.5px solid #34373c; box-shadow:0 6px 24px rgba(0,0,0,0.1); }
  html[data-theme="dark"] #wpRoot .dropdown-item { border-bottom:1px solid #2f3338; }
  html[data-theme="dark"] #wpRoot .dropdown-item:last-child { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .dropdown-item:hover { background:#192a3b; }
  html[data-theme="dark"] #wpRoot .dropdown-item .code { color:#6197e3; }
  html[data-theme="dark"] #wpRoot .dropdown-empty { color:#6b7583; }
  html[data-theme="dark"] #wpRoot .worker-tag { color:#6197e3; }
  html[data-theme="dark"] #wpRoot .add-worker-btn { background:#192a3b; color:#6197e3; border:1.5px dashed #264671; }
  html[data-theme="dark"] #wpRoot .add-worker-btn:hover { background:#192a3b; }
  html[data-theme="dark"] #wpRoot .remove-btn { background:#1a1b1e; color:#e7759d; border:none; }
  html[data-theme="dark"] #wpRoot .preview-wrap { background:#181a1c; }
  html[data-theme="dark"] #wpRoot .mail-header { border-bottom:2px solid #ebecee; }
  html[data-theme="dark"] #wpRoot .mail-logo { color:#7a8492; }
  html[data-theme="dark"] #wpRoot .mail-title { color:#eeeff1; }
  html[data-theme="dark"] #wpRoot .mail-store-tag { color:#babfc7; }
  html[data-theme="dark"] #wpRoot .mail-greeting { color:#dddfe3; border-bottom:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot .info-section-title { color:#7a8492; }
  html[data-theme="dark"] #wpRoot .info-box { border:1px solid #383b41; }
  html[data-theme="dark"] #wpRoot .info-row { color:#ebecee; border-bottom:1px solid #32353b; }
  html[data-theme="dark"] #wpRoot .info-row:last-child { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .info-key { color:#babfc7; background:#1b1c1f; border-right:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot .info-val { color:#edeef0; }
  html[data-theme="dark"] #wpRoot .datetime-box { border:1px solid #383b41; }
  html[data-theme="dark"] #wpRoot .datetime-date { color:#eeeff1; }
  html[data-theme="dark"] #wpRoot .datetime-time { color:#babfc7; }
  html[data-theme="dark"] #wpRoot .worker-table th { color:#8a929f; border-bottom:1px solid #393d43; background:#1b1c1f; }
  html[data-theme="dark"] #wpRoot .worker-table td { border-bottom:1px solid #32353b; color:#ebecee; }
  html[data-theme="dark"] #wpRoot .worker-table tr:last-child td { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .worker-table .leader-badge { background:#222428; color:#babfc7; }
  html[data-theme="dark"] #wpRoot .mail-note { border-top:1px solid #34373c; color:#babfc7; }
  html[data-theme="dark"] #wpRoot .mail-footer { border-top:1px solid #393d43; color:#8a929f; }
  html[data-theme="dark"] #wpRoot .subject-display { background:#16181a; color:#ccd0d5; }
  html[data-theme="dark"] #wpRoot .subject-display span { color:#edeef0; }
  html[data-theme="dark"] #wpRoot .btn { border:none; }
  html[data-theme="dark"] #wpRoot .btn-outline { background:#16181a; color:#babfc7; }
  html[data-theme="dark"] #wpRoot .btn-outline:hover { background:#26292d; }
  html[data-theme="dark"] #wpRoot .btn-primary { background:#3182f6; color:#fff; }
  html[data-theme="dark"] #wpRoot .btn-primary:hover { background:#1b64da; }
  html[data-theme="dark"] #wpRoot .toast { background:#282b2f; color:#fff; }
  html[data-theme="dark"] #wpRoot .tab-nav { background:#16181a; border-bottom:2px solid #35393e; }
  html[data-theme="dark"] #wpRoot .tab-nav-btn { border:none; background:transparent; color:#8a929f; border-bottom:2px solid transparent; }
  html[data-theme="dark"] #wpRoot .tab-nav-btn:hover { color:#6197e3; background:#192a3b; }
  html[data-theme="dark"] #wpRoot .tab-nav-btn.active { background:#1e2124; color:#6197e3; border-color:#3182f6; }
  html[data-theme="dark"] #wpRoot .type-btn { border:1.5px solid #383b41; background:#1b1d20; color:#8a929f; }
  html[data-theme="dark"] #wpRoot .type-btn:hover { background:#192a3b; border-color:#264671; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .type-btn.active { background:#3182f6; color:#fff; border-color:#3182f6; }
  @media (max-width: 600px) {
    html[data-theme="dark"] #wpRoot #dbTable tbody tr, html[data-theme="dark"] #wpRoot #elevatorTable tbody tr, html[data-theme="dark"] #wpRoot #quickLinkTable tbody tr { border-bottom:1px solid #303439; }
    html[data-theme="dark"] #wpRoot #dbTable tbody td, html[data-theme="dark"] #wpRoot #elevatorTable tbody td, html[data-theme="dark"] #wpRoot #quickLinkTable tbody td { border:none !important; }
  }
  html[data-theme="dark"] #wpRoot #tabPanel_safety select, html[data-theme="dark"] #wpRoot #tabPanel_safety textarea { border:1.5px solid #383b41; color:#edeef0; background:#1b1d20; outline:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety select:focus, html[data-theme="dark"] #wpRoot #tabPanel_safety textarea:focus { border-color:#3182f6; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .sf-note { color:#8a929f; }
  html[data-theme="dark"] #wpRoot .sf-sec { color:#dddfe3; }
  html[data-theme="dark"] #wpRoot .sf-checks label { border:1.5px solid #383b41; background:#1b1d20; }
  html[data-theme="dark"] #wpRoot .sf-rrow { border-top:1px solid #303439; }
  html[data-theme="dark"] #wpRoot .sf-rrow:first-child { border-top:0; }
  html[data-theme="dark"] #wpRoot .sf-rrow .no { color:#6b7583; }
  html[data-theme="dark"] #wpRoot .sf-btn { border:1.5px solid #383b41; background:#1b1d20; color:#babfc7; }
  html[data-theme="dark"] #wpRoot .sf-btn.primary { background:#3182f6; border-color:#3182f6; color:#fff; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety details { border-top:1px solid #303439; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety summary { color:#6197e3; }
  html[data-theme="dark"] #wpRoot { color:#ebedef; }
  html[data-theme="dark"] #wpRoot .card { border:1px solid #34373c; box-shadow:0 1px 2px rgba(25,31,40,.04), 0 8px 20px rgba(25,31,40,.04); }
  html[data-theme="dark"] #wpRoot .card-title { border-bottom:1px solid #2d3135; color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .wp-s-icon { background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .sub-title { color:#afb7c3; }
  html[data-theme="dark"] #wpRoot label { color:#a5adb6; }
  html[data-theme="dark"] #wpRoot input[type="text"], html[data-theme="dark"] #wpRoot input[type="date"], html[data-theme="dark"] #wpRoot input[type="time"], html[data-theme="dark"] #wpRoot #tabPanel_safety select, html[data-theme="dark"] #wpRoot #tabPanel_safety textarea { border:1.5px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot input[readonly] { background:#1b1d20 !important; color:#a5adb6 !important; }
  html[data-theme="dark"] #wpRoot .btn-outline { background:#17191b; color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .btn-outline:hover { background:#26292d; }
  html[data-theme="dark"] #wpRoot .type-btn { border:1.5px solid #34373c; background:#1e2124; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .preview-wrap, html[data-theme="dark"] #wpRoot .subject-display { background:#17191b; }
  html[data-theme="dark"] #wpRoot .sf-btn { border-color:#34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .sf-checks label { border-color:#34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .tab-nav { background:#17191b; border-bottom:none; }
  html[data-theme="dark"] #wpRoot .tab-nav-btn { border:1px solid #34373c; background:#1e2124; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .tab-nav-btn:hover { background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .tab-nav-btn.active { background:#3182f6; color:#fff; border-color:#3182f6; }
  html[data-theme="dark"] #wpRoot #dbTable thead th, html[data-theme="dark"] #wpRoot #elevatorTable thead th, html[data-theme="dark"] #wpRoot #quickLinkTable thead th { background:#1b1d20 !important; color:#a5adb6 !important; border-bottom:1px solid #34373c !important; }
  html[data-theme="dark"] #wpRoot #dbTable td.wk-group { background:#1e2124; border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #dbTable tr:first-child td.wk-group { border-top:none; }
  html[data-theme="dark"] #wpRoot .wk-arrow { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .wk-arrow.open { color:#6197e3; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-group-name { border:1.5px solid transparent; color:#ebedef; background:transparent; outline:none; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-group-name:hover { background:#1b1d20; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-group-name:focus { border-color:#3182f6; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .wk-grip { color:#b0b8c1; }
  html[data-theme="dark"] #wpRoot .wk-grip:hover { color:#a5adb6; background:#17191b; }
  html[data-theme="dark"] #wpRoot #dbTable tr.wk-drop-before td { box-shadow:inset 0 3px 0 #3182f6; }
  html[data-theme="dark"] #wpRoot #dbTable tr.wk-drop-after td { box-shadow:inset 0 -3px 0 #3182f6; }
  html[data-theme="dark"] #wpRoot .wk-count { color:#a5adb6; background:#17191b; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn { border:1px solid #34373c; background:#1e2124; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn:hover { background:#17191b; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn.wk-del { border-color:transparent; background:#3a191d; color:#e25d68; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn.wk-del:hover { background:#401b1f; }
  html[data-theme="dark"] #wpRoot #dbTable tr.wk-row:hover td, html[data-theme="dark"] #wpRoot #elevatorTable tr.wk-row:hover td, html[data-theme="dark"] #wpRoot #quickLinkTable tr.wk-row:hover td { background:#1b1d20; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-input, html[data-theme="dark"] #wpRoot #elevatorTable .wk-input, html[data-theme="dark"] #wpRoot #quickLinkTable .wk-input { border:1.5px solid #34373c; color:#ebedef; background:#1e2124; outline:none; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-input:focus, html[data-theme="dark"] #wpRoot #elevatorTable .wk-input:focus, html[data-theme="dark"] #wpRoot #quickLinkTable .wk-input:focus { border-color:#3182f6; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn.wk-go { border-color:transparent; background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn.wk-go:hover { background:#1b2b40; }
  html[data-theme="dark"] #wpRoot .add-worker-btn { border:1.5px dashed #3d4147; background:none; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .add-worker-btn:hover { border-color:#3182f6; color:#6197e3; background:#192a3b; }
  html[data-theme="dark"] #wpRoot .dd-row { border-bottom:1px solid #2d3135; }
  html[data-theme="dark"] #wpRoot .dd-row:last-child { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .dd-name { color:#b9c2cf; }
  html[data-theme="dark"] #wpRoot .dd-bar { background:#17191b; }
  html[data-theme="dark"] #wpRoot .dd-empty { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .card-sub { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-note { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-grid label, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow label { color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .sf-checks label { color:#a5adb6; border:none; background:none; }
  html[data-theme="dark"] #wpRoot .sf-checks label:has(input:checked) { color:#ebedef; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-equip label { background:#1b1d20; color:#afb7c3; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow { border-top:1px solid #2d3135; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot .sf-btn { border:1.5px solid #34373c; background:#1e2124; color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .sf-btn:hover { background:#17191b; }
  html[data-theme="dark"] #wpRoot .sf-btn.primary { background:#3182f6; border-color:#3182f6; color:#fff; }
  html[data-theme="dark"] #wpRoot .sf-btn.primary:hover { background:#1b64da; }
  html[data-theme="dark"] #wpRoot .sf-prow .sf-btn { border-color:transparent; background:#3a191d; color:#e25d68; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety details { border:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety summary.card-title { color:#afb7c3; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety details:not([open]) > summary.card-title { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .sf-chev { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .sf-download { border:none; background:#3182f6; color:#fff; box-shadow:0 4px 12px rgba(49,130,246,.25); }
  html[data-theme="dark"] #wpRoot .sf-download:hover { background:#1b64da; }
  html[data-theme="dark"] #wpRoot .type-seg { background:#17191b; }
  html[data-theme="dark"] #wpRoot .type-seg .type-btn { border:none; background:transparent; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .type-seg .type-btn:hover { background:rgba(30,33,36,0.6); color:#b9c2cf; border:none; }
  html[data-theme="dark"] #wpRoot .type-seg .type-btn.active { background:#1e2124; color:#6197e3; box-shadow:0 1px 3px rgba(25,31,40,.12); }
  html[data-theme="dark"] #wpRoot .dropdown { border:1px solid #34373c; box-shadow:0 12px 32px rgba(25,31,40,.12); }
  html[data-theme="dark"] #wpRoot .dropdown-item { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .dropdown-item:hover { background:#17191b; }
  html[data-theme="dark"] #wpRoot .info-blue { background:#192a3b; color:#729fe6; }
  html[data-theme="dark"] #wpRoot .info-amber { background:#3e341b; color:#edcf97; }
  html[data-theme="dark"] #wpRoot .worker-tag { background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .remove-btn { background:#3a191d; color:#e25d68; }
  html[data-theme="dark"] #wpRoot .remove-btn:hover { background:#401b1f; }
  html[data-theme="dark"] #wpRoot .subject-display { color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .subject-display span { color:#ebedef; }
  html[data-theme="dark"] #wpRoot .actions .btn-outline { background:#1e2124; border:1.5px solid #34373c; color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .actions .btn-outline:hover { background:#17191b; }
  html[data-theme="dark"] #wpRoot .mail-action-card .hiworks-note { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .mail-action-card .hiworks-note svg { color:#b0b8c1; }
  html[data-theme="dark"] #wpRoot .actions .btn-hiworks { background:#3182f6; color:#fff; box-shadow:0 4px 12px rgba(49,130,246,.25); }
  html[data-theme="dark"] #wpRoot .actions .btn-hiworks:hover { background:#1b64da; }
  html[data-theme="dark"] #wpRoot .st-card { background:#1e2124; border:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot .st-card:hover { border-color:#3d4147; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-in { border:1.5px solid #34373c; color:#ebedef; background:#1e2124; outline:none; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-in:focus { border-color:#3182f6; }
  html[data-theme="dark"] #wpRoot .st-kind { background:#17191b; }
  html[data-theme="dark"] #wpRoot .store-kind-btn { border:none; background:transparent; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .store-kind-btn.active { background:#1e2124; color:#6197e3; box-shadow:0 1px 3px rgba(25,31,40,.12); }
  html[data-theme="dark"] #wpRoot .st-toggle.open { background:#192a3b; border-color:transparent; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .st-detail { border-top:1px solid #2d3135; }
  html[data-theme="dark"] #wpRoot .st-field > span { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-notes .st-in { border-color:#776028; background:#3a3219; }
  html[data-theme="dark"] #wpRoot .st-group { color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .st-group svg { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .sf-btn.danger { border-color:transparent; background:#3a191d; color:#e25d68; }
  html[data-theme="dark"] #wpRoot .sf-btn.danger:hover { background:#401b1f; }
  html[data-theme="dark"] #wpRoot .badge { background:#17191b; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .hs-row { border-bottom:1px solid #2d3135; }
  html[data-theme="dark"] #wpRoot .hs-row:last-child { border-bottom:none; }
  html[data-theme="dark"] #wpRoot .hs-row:hover { background:#1b1d20; }
  html[data-theme="dark"] #wpRoot .hs-title { color:#ebedef; }
  html[data-theme="dark"] #wpRoot .hs-code { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .hs-meta { color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .hs-type { color:#6197e3; }
  html[data-theme="dark"] #wpRoot .hs-sent { color:#b0b8c1; }
  html[data-theme="dark"] #wpRoot .sf-pair > div + div { border-top:1px solid #2d3135; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-pair .sf-equip { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-pair .sf-equip label { background:#1e2124; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-eq-name { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-pair .sf-equip input { border:none; background:#1e2124; color:#ebedef; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-pair .sf-equip input:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-grid.sf-table { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-table label { background:#1e2124; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-table input, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-table select { border:none; background:#1e2124; color:#ebedef; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-table input:focus, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-table select:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow { background:none; border-top:1px solid #2d3135; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow .no { background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot #sfWork::placeholder, html[data-theme="dark"] #wpRoot #sfPeople::placeholder, html[data-theme="dark"] #wpRoot #sfRisk input[data-r="0"][data-c="0"]::placeholder, html[data-theme="dark"] #wpRoot #sfRisk input[data-r="0"][data-c="1"]::placeholder { color:#505762; }
  html[data-theme="dark"] #wpRoot .sf-lbl { color:#98a0ab; }
  @media (min-width: 760px) {
    html[data-theme="dark"] #wpRoot .sf-rhead { background:#1b1d20; color:#a5adb6; }
  }
  html[data-theme="dark"] #wpRoot .sf-bn-head { color:#afb7c3; }
  html[data-theme="dark"] #wpRoot .sf-bn-hint { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .sf-bn-table { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .sf-bn-row { border-top:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #sfBranchContacts .sf-bn-row:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot .sf-bn-row > span { background:#1b1d20; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .sf-bn-row > * + * { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-bn-row input { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-bn-row textarea { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-bn-row input:focus, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-bn-row textarea:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot .sf-bn-del { border:none; background:transparent; color:#e25d68; }
  html[data-theme="dark"] #wpRoot .sf-bn-add { border:none; background:transparent; color:#6197e3; }
  html[data-theme="dark"] #wpRoot .sf-bn-add:hover { background:#1a1c1f; }
  @media (min-width: 760px) {
    html[data-theme="dark"] #wpRoot #sfBranchContacts .sf-bn-row:nth-child(2) { border-top:none; }
    html[data-theme="dark"] #wpRoot #sfBranchContacts .sf-bn-row:nth-child(even) { border-left:1px solid #34373c; }
  }
  html[data-theme="dark"] #wpRoot .store-chev { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .dropdown-item.selected { background:#192a3b; }
  html[data-theme="dark"] #wpRoot .dropdown-item.selected span:last-child { color:#6197e3; }
  html[data-theme="dark"] #wpRoot .dropdown-group { color:#98a0ab; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .worker-dd .dropdown-item .car { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot .used-tag { color:#a5adb6; background:#17191b; }
  html[data-theme="dark"] #wpRoot .st-note-ico { background:#3e341b; color:#e7c277; }
  html[data-theme="dark"] #wpRoot .st-note-ico:hover { background:#473b1e; }
  html[data-theme="dark"] #wpRoot .sf-rdel { border:none; background:#3a191d; color:#e25d68; }
  html[data-theme="dark"] #wpRoot .sf-rdel:hover { background:#401b1f; }
  html[data-theme="dark"] #wpRoot #sfRisk { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow { border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow > label { background:#1e2124; box-shadow:inset 1px 1px 0 #2f3337; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow input, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow select, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow textarea { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow input:focus, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow select:focus, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow textarea:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #sfPresetList { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow { border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow > * { box-shadow:inset 1px 1px 0 #2f3337; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow input, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow textarea { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow input:focus, html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow textarea:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow .sf-btn { border:none; background:#1e2124; color:#e25d68; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-prow .sf-btn:hover { background:#3a191d; }
  @media (min-width: 760px) {
    html[data-theme="dark"] #wpRoot .sf-phead { background:#1b1d20; border:1px solid #34373c; border-bottom:none; color:#a5adb6; }
  }
  @media (min-width: 760px) {
    html[data-theme="dark"] #wpRoot .sf-rhead { border:1px solid #34373c; border-bottom:none; }
    html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-rrow > label:not(.haz):not(.act) { box-shadow:inset 1px 0 0 #2f3337; }
  }
  html[data-theme="dark"] #wpRoot #sfBranchWorkList { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .sf-bwrow { border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot .sf-bwrow:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot .sf-bwrow span { background:#1b1d20; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .sf-bwrow > * + * { box-shadow:inset 0 1px 0 #2f3337; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-bwrow input { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_safety .sf-bwrow input:focus { background:#192a3b; }
  @media (min-width: 760px) {
    html[data-theme="dark"] #wpRoot .sf-bwhead { background:#1b1d20; border:1px solid #34373c; border-bottom:none; color:#a5adb6; }
    html[data-theme="dark"] #wpRoot .sf-bwrow > * + * { box-shadow:inset 1px 0 0 #2f3337; }
  }
  html[data-theme="dark"] #wpRoot .table-scroll:has(> #dbTable), html[data-theme="dark"] #wpRoot .table-scroll:has(> #elevatorTable), html[data-theme="dark"] #wpRoot .table-scroll:has(> #quickLinkTable) { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #dbTable thead th + th, html[data-theme="dark"] #wpRoot #elevatorTable thead th + th, html[data-theme="dark"] #wpRoot #quickLinkTable thead th + th { border-left:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #dbTable td.wk-td, html[data-theme="dark"] #wpRoot #elevatorTable td.wk-td, html[data-theme="dark"] #wpRoot #quickLinkTable td.wk-td { border-top:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #dbTable td.wk-td + td.wk-td, html[data-theme="dark"] #wpRoot #elevatorTable td.wk-td + td.wk-td, html[data-theme="dark"] #wpRoot #quickLinkTable td.wk-td + td.wk-td { border-left:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #elevatorTable tbody tr:first-child td, html[data-theme="dark"] #wpRoot #quickLinkTable tbody tr:first-child td { border-top:none; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-input, html[data-theme="dark"] #wpRoot #elevatorTable .wk-input, html[data-theme="dark"] #wpRoot #quickLinkTable .wk-input { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-input:focus, html[data-theme="dark"] #wpRoot #elevatorTable .wk-input:focus, html[data-theme="dark"] #wpRoot #quickLinkTable .wk-input:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn.wk-del { background:none; }
  html[data-theme="dark"] #wpRoot .wk-icon-btn.wk-del:hover { background:#3a191d; }
  html[data-theme="dark"] #wpRoot #dbTable td.wk-group { background:#1b1d20; border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #dbTable .wk-group-name:hover { background:#1e2124; }
  @media (max-width: 600px) {
    html[data-theme="dark"] #wpRoot #dbTable tbody tr, html[data-theme="dark"] #wpRoot #elevatorTable tbody tr, html[data-theme="dark"] #wpRoot #quickLinkTable tbody tr { border-bottom:1px solid #34373c; }
    html[data-theme="dark"] #wpRoot #elevatorTable tbody tr:last-child, html[data-theme="dark"] #wpRoot #quickLinkTable tbody tr:last-child, html[data-theme="dark"] #wpRoot #dbTable tbody tr:last-child { border-bottom:none; }
    html[data-theme="dark"] #wpRoot #dbTable td.wk-td, html[data-theme="dark"] #wpRoot #elevatorTable td.wk-td, html[data-theme="dark"] #wpRoot #quickLinkTable td.wk-td { box-shadow:inset 1px 1px 0 #2f3337; }
  }
  html[data-theme="dark"] #wpRoot .mail-table, html[data-theme="dark"] #wpRoot #workerList { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot .mail-table > .wp-field-group { background:#1e2124; }
  html[data-theme="dark"] #wpRoot .mail-table > .wp-field-group > label { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot .mail-table input[type="text"], html[data-theme="dark"] #wpRoot .mail-table input[type="date"], html[data-theme="dark"] #wpRoot .mail-table .time-sel select, html[data-theme="dark"] #wpRoot #workerList input[type="text"] { border:none; background:#1e2124; }
  html[data-theme="dark"] #wpRoot .mail-table input[readonly] { background:#1e2124 !important; }
  html[data-theme="dark"] #wpRoot .mail-table input:focus, html[data-theme="dark"] #wpRoot .mail-table .time-sel select:focus, html[data-theme="dark"] #wpRoot #workerList input:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot .mail-table .time-sel { background:#1e2124; }
  html[data-theme="dark"] #wpRoot #workerList { background:#1e2124; }
  html[data-theme="dark"] #wpRoot #workerList .worker-row { border-top:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #workerList .worker-row:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot #workerList .worker-row > :not(.worker-tag) { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] #wpRoot #workerList .remove-btn { background:none; }
  html[data-theme="dark"] #wpRoot #workerList .remove-btn:hover { background:#3a191d; }
  html[data-theme="dark"] #wpRoot #extraDateList { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #extraDateList .extra-date-row { border-top:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #extraDateList .extra-date-row:first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot #extraDateList input[type="date"] { border:none; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #extraDateList input:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #extraDateList .remove-btn { background:none; }
  html[data-theme="dark"] #wpRoot #extraDateList .remove-btn:hover { background:#3a191d; }
  @media (max-width: 600px) {
    html[data-theme="dark"] #wpRoot #workerList .worker-row > input:last-of-type { box-shadow:inset 1px 1px 0 #2f3337; }
  }
  html[data-theme="dark"] #wpRoot #elevatorDDayList { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-row { border-bottom:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-row:last-child { border-bottom:none; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-head { background:#1b1d20; border-bottom:1px solid #34373c; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-head > div { color:#a5adb6; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-name { border-right:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-bar { background:#222428; }
  html[data-theme="dark"] #wpRoot #elevatorDDayList .dd-label { border-left:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #storeTableBody { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-card { border:none; border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #storeTableBody > :first-child { border-top:none; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-top > * + * { box-shadow:inset 1px 0 0 #2f3337; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-in { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-in:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-note-ico { box-shadow:none; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-kind { box-shadow:none; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-top .wk-icon-btn { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-top .wk-icon-btn:hover { background:#17191b; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-top .st-toggle.open { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-top .wk-del:hover { background:#3a191d; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-detail { border-top:1px solid #2f3337; background:#222428; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-field { background:#1e2124; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-field > span { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-notes .st-in { background:#3a3219; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-notes .st-in:focus { background:#192a3b; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-group { background:#1b1d20; border-top:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #historyList { border:1px solid #34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #historyList .hs-row { border-bottom:1px solid #2f3337; }
  html[data-theme="dark"] #wpRoot #historyList .hs-row:last-child { border-bottom:none; }
  html[data-theme="dark"] #wpRoot #historyList .wk-del { border:none; border-left:1px solid #2f3337; }
  @media (max-width: 600px) {
    html[data-theme="dark"] #wpRoot #storeTableBody .st-email { box-shadow:inset 0 1px 0 #2f3337; color:#afb7c3; }
  }
  html[data-theme="dark"] #wpRoot .mail-action-card { border:none !important; background:transparent !important; box-shadow:none !important; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-group-name { border:1px solid transparent; background:transparent; color:#afb7c3; outline:none; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-group-name:hover { border-color:#34373c; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #storeTableBody .st-group-name:focus { border-color:#3182f6; background:#1e2124; }
  html[data-theme="dark"] #wpRoot #workfillList .wf-empty { color:#b0b8c1; border:1px dashed #34373c; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-item { background:#222428; border:1px solid #34373c; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-item > label { background:#1e2124; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-lbl { background:#1b1d20; border-bottom:1px solid #2f3337; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-item input { border:none; background:#1e2124; color:#ebedef; box-shadow:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-item input:focus { background:#192a3b; outline:none; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-head { background:#1b1d20; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-head input { background:#1b1d20; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-tog { border:none; border-right:1px solid #2f3337; background:transparent; color:#98a0ab; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-tog:hover { background:#17191b; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-sum { color:#98a0ab; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-grip { color:#b0b8c1; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-grip:hover { color:#a5adb6; background:#17191b; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-item.wk-drop-before { box-shadow:0 -3px 0 #3182f6; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-item.wk-drop-after { box-shadow:0 3px 0 #3182f6; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-del { border:none; background:transparent; color:#e25d68; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-del:hover { background:#3a191d; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-copy { border:none; background:transparent; color:#a5adb6; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-copy:hover { background:#192a3b; color:#6197e3; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-head[style] input { background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-color { border:none; background:transparent; }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-color:hover { background:rgba(255,255,255,0.07); }
  html[data-theme="dark"] #wpRoot #tabPanel_workfill .wf-color i { border:1.5px solid rgba(255,255,255,0.21); }
  html[data-theme="dark"] #wpRoot #wfColorPal { background:#1e2124; border:1px solid #34373c; box-shadow:0 6px 20px rgba(0,0,0,.12); }
  html[data-theme="dark"] #wpRoot #wfColorPal button { border:1.5px solid rgba(255,255,255,0.168); color:#b0b8c1; }
  html[data-theme="dark"] #wpRoot #wfColorPal button.on { outline:2px solid #ecedef; }
  html[data-theme="dark"] .theme-btn { background:#1e2124; border:1px solid var(--slate-200); color:var(--slate-600); }
  html[data-theme="dark"] .theme-btn:active { background:var(--slate-100); }
  html[data-theme="dark"] .theme-menu { background:#1e2124; border:1px solid var(--slate-200); box-shadow:var(--shadow-lg); }
  html[data-theme="dark"] .theme-menu-title { color:var(--slate-500); }
  html[data-theme="dark"] .theme-menu-item { border:none; background:none; color:var(--slate-800); }
  html[data-theme="dark"] .theme-menu-item:hover { background:var(--slate-100); }
  html[data-theme="dark"] .theme-menu-item.on { color:var(--primary); }
  html[data-theme="dark"] .home-logo .cls-2 { fill:#eceef0; }
}
/* ══ 다크모드 끝 ══ */
