.weekly-worklog-modal {
  position: fixed;
  inset: 0;
  z-index: 100004;
  background: #f5f5f5;
  color: #111;
  font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
}

.weekly-worklog-modal.hidden,
.weekly-worklog-week-tabs.hidden { display: none; }

.weekly-worklog-shell { height: 100%; display: flex; flex-direction: column; }
.weekly-worklog-shell > header { min-height: 54px; padding: max(10px, env(safe-area-inset-top)) 16px 10px; display: flex; align-items: center; justify-content: space-between; background: #f5f5f5; color: #173252; border-bottom: 1px solid #d6dce4; }
.weekly-worklog-shell > header > div { display: flex; align-items: baseline; gap: 12px; }
.weekly-worklog-shell > header strong { font-size: 17px; }
.weekly-worklog-shell > header span { font-size: 11px; color: #64748b; }
.weekly-worklog-shell > header span[data-tone="error"] { color: #fecaca; }
.weekly-worklog-shell > header span[data-tone="dirty"] { color: #fde68a; }
.weekly-worklog-shell > header button { border: 0; background: transparent; color: #173252; font-size: 30px; line-height: 1; }

.weekly-worklog-toolbar { display: flex; align-items: end; gap: 8px; padding: 10px 14px; background: #f5f5f5; border-bottom: 1px solid #cbd5e1; overflow-x: auto; }
.weekly-worklog-toolbar label { display: grid; gap: 3px; min-width: 135px; color: #475569; font-size: 11px; }
.weekly-worklog-toolbar input, .weekly-worklog-toolbar select, .weekly-worklog-toolbar button { height: 34px; border: 1px solid #b8c2cf; border-radius: 5px; background: #fff; padding: 0 10px; white-space: nowrap; font-size: 12px; }
.weekly-worklog-toolbar button.primary { background: #0f62fe; border-color: #0f62fe; color: #fff; font-weight: 700; }
.weekly-worklog-tabs, .weekly-worklog-week-tabs { display: flex; gap: 5px; padding: 8px 14px 0; background: #f8fafc; overflow-x: auto; }
.weekly-worklog-tabs button, .weekly-worklog-week-tabs button { border: 1px solid #cbd5e1; border-bottom: 0; border-radius: 6px 6px 0 0; background: #e2e8f0; padding: 8px 14px; white-space: nowrap; color: #334155; }
.weekly-worklog-tabs button.active, .weekly-worklog-week-tabs button.active { background: #fff; color: #0f3e73; font-weight: 700; }
.weekly-worklog-week-tabs { padding-top: 5px; border-bottom: 1px solid #cbd5e1; }
.weekly-worklog-week-tabs button { display: grid; gap: 2px; padding-block: 6px; font-size: 12px; }
.weekly-worklog-week-tabs small { font-size: 9px; font-weight: 400; color: #64748b; }
#weekly-worklog-content { flex: 1; overflow: auto; padding: 18px; }

.worklog-paper { position: relative; box-sizing: border-box; width: 210mm; min-height: 297mm; margin: 0 auto 18px; padding: 16mm 7mm 15mm; background: #fff; color: #000; box-shadow: 0 2px 15px rgba(15, 23, 42, .14); font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif; }
.worklog-paper.worklog-landscape { width: 297mm; min-height: 210mm; padding: 13mm 7mm 12mm; }
.worklog-paper h1 { margin: 4mm 0 5mm; text-align: center; font-family: Batang, "AppleMyungjo", serif; font-size: 21px; letter-spacing: .12em; }
.worklog-paper h1 small { font-size: 11px; letter-spacing: 0; }
.worklog-paper h2 { margin: 4mm 0 1.5mm; font-size: 12px; }
.worklog-approval { position: absolute; top: 6mm; right: 7mm; width: 58mm; border-collapse: collapse; table-layout: fixed; font-size: 8px; }
.worklog-approval th, .worklog-approval td { height: 7mm; border: .7px solid #000; text-align: center; }
.worklog-doc-meta { display: flex; justify-content: space-between; min-height: 7mm; align-items: center; border-top: 1.2px solid #000; border-bottom: .7px solid #000; padding: 0 2mm; font-size: 9px; }
.worklog-grid { width: 100%; border-collapse: collapse; table-layout: fixed; border: 1.2px solid #000; font-size: 8px; }
.worklog-grid th, .worklog-grid td { height: 6mm; padding: .7mm 1mm; border: .45px solid #777; vertical-align: middle; }
.worklog-grid th { background: #fff; font-weight: 700; text-align: center; }
.worklog-grid thead th { border-color: #000; }
.worklog-weekly-grid col.date { width: 13mm; }.worklog-weekly-grid col.company { width: 16mm; }.worklog-weekly-grid col.customer { width: 14mm; }.worklog-weekly-grid col.time { width: 20mm; }.worklog-weekly-grid col.model { width: 17mm; }.worklog-weekly-grid col.serial { width: 14mm; }.worklog-weekly-grid col.content { width: auto; }.worklog-weekly-grid col.money { width: 18mm; }.worklog-weekly-grid col.actions { width: 7mm; }
.worklog-date-cell { border-top: 1.2px solid #000 !important; }
.worklog-date-cell strong, .worklog-date-cell span { display: block; }
.worklog-content-cell { line-height: 1.3; }
.worklog-cell-input, .worklog-paper textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 0; outline: 0; background: #fffdeb; padding: 1px 2px; color: #111; font: inherit; }
.worklog-paper textarea { resize: vertical; min-height: 11mm; }
.worklog-cell-input:focus, .worklog-paper textarea:focus { box-shadow: inset 0 0 0 1px #0f62fe; background: #fff; }
.worklog-row-actions { text-align: center; }.worklog-row-actions button, .worklog-fuel-grid button { border: 0; background: transparent; color: #b91c1c; font-size: 16px; }
.worklog-day-tools td { height: 4mm; padding: 0 1mm; border-bottom: 1.1px solid #000; }.worklog-day-tools button, .worklog-add-fuel { border: 0; background: transparent; color: #1d4ed8; font-size: 8px; }
.worklog-distance-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1.2px solid #000; border-top: 0; font-size: 7px; }
.worklog-distance-grid span { display: flex; align-items: center; gap: 2px; min-height: 6mm; padding: .6mm 1mm; border-right: .45px solid #777; border-bottom: .45px solid #777; }
.worklog-distance-grid input { width: 13mm; }
.worklog-totals { width: 100%; margin-top: 3mm; border-collapse: collapse; border: 1.2px solid #000; font-size: 9px; }.worklog-totals th, .worklog-totals td { height: 7mm; padding: 1mm 2mm; border: .45px solid #777; }
.number { text-align: right; font-variant-numeric: tabular-nums; }
.worklog-basic-info th { width: 18%; }.worklog-basic-info td { width: 15%; }
.worklog-driving-grid th, .worklog-driving-grid td { height: 4.1mm; padding-block: .35mm; text-align: center; }
.worklog-driving-grid tbody { font-variant-numeric: tabular-nums; }
.worklog-summary-box { width: 100%; margin-top: 3mm; border-collapse: collapse; border: 1.2px solid #000; font-size: 9px; }.worklog-summary-box th, .worklog-summary-box td { border: .5px solid #777; padding: 1.5mm; }
.worklog-vehicle-continuation h1, .worklog-vehicle-summary h1 { margin-top: 1mm; }
.worklog-monthly-driving-summary { margin-top: 20mm; font-size: 11px; }.worklog-monthly-driving-summary th, .worklog-monthly-driving-summary td { height: 12mm; text-align: center; }
.worklog-request-meta { width: 70%; margin-top: 9mm; font-size: 10px; }.worklog-request-meta th { width: 15%; }.worklog-request-meta .request-total { font-size: 15px; font-weight: 700; text-align: right; }
.worklog-expense-cards { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3mm; margin: 5mm 0; }.worklog-expense-cards .worklog-grid { font-size: 10px; }.worklog-expense-cards td { text-align: right; }
.worklog-fuel-grid { width: 62%; }.worklog-fuel-grid td { text-align: right; }.worklog-add-fuel { display: block; margin-top: 2mm; font-size: 10px; }.worklog-formula-note { margin-top: 5mm; text-align: right; font-size: 8px; }

/* Excel-template renderer. Dimensions are measured from the approved workbook PDF. */
.worklog-excel-paper { height: 297mm; min-height: 297mm; padding: 0; overflow: hidden; }
.worklog-excel-paper.worklog-landscape { height: 210mm; min-height: 210mm; padding: 0; }
.worklog-excel-grid { position: absolute; display: grid; box-sizing: border-box; background: #fff; }
.worklog-weekly-excel-grid { top: 20mm; left: 23mm; width: 163mm; height: 256.5mm; }
.worklog-vehicle-page-one { top: 26mm; left: 9mm; width: 279mm; height: 160mm; }
.worklog-vehicle-page-two { top: 5mm; left: 9mm; width: 279mm; height: 181mm; }
.worklog-vehicle-page-three { top: 99mm; left: 9mm; width: 279mm; height: 7mm; }
.worklog-transport-excel-grid { top: 18mm; left: 42mm; width: 212mm; height: 175mm; }
.worklog-excel-cell, .worklog-excel-overlay { box-sizing: border-box; min-width: 0; min-height: 0; overflow: hidden; line-height: 1.05; }
.worklog-excel-cell { z-index: 1; display: flex; padding: 0 .45mm; }
.worklog-excel-overlay { z-index: 2; display: flex; align-items: center; padding: 0 .45mm; font: 7.4pt/1.05 Dotum, "Apple SD Gothic Neo", sans-serif; color: #000; white-space: pre-wrap; }
.worklog-excel-overlay > span, .worklog-excel-overlay > strong { display: block; width: 100%; overflow: hidden; }
.worklog-excel-meta { justify-content: flex-start; font-weight: 700; font-size: 8pt; }
.worklog-excel-meta-right { justify-content: flex-end; text-align: right; }
.worklog-excel-date { justify-content: center; text-align: center; }
.worklog-weekly-excel-grid .worklog-excel-date { font-size: 6pt; white-space: nowrap; }
.worklog-excel-number { justify-content: flex-end; text-align: right; font-variant-numeric: tabular-nums; }
.worklog-excel-large { font-size: 11pt; }
.worklog-excel-title-number { justify-content: center; text-align: center; font-size: 22pt; }
.worklog-excel-content { align-items: stretch; line-height: 1.05; }
.worklog-excel-content-text { white-space: pre-wrap; line-height: 3mm; }
.worklog-excel-overlay .worklog-cell-input, .worklog-excel-content-input { width: 100%; height: 100%; min-height: 0; margin: 0; border: 0; border-radius: 0; outline: 0; background: transparent; padding: 0; color: #000; font: inherit; line-height: inherit; resize: none; }
.worklog-excel-overlay .worklog-cell-input:hover, .worklog-excel-content-input:hover { background: rgba(254, 249, 195, .52); }
.worklog-excel-overlay .worklog-cell-input:focus, .worklog-excel-content-input:focus { background: #fffde7; box-shadow: inset 0 0 0 1px #2563eb; }
.worklog-excel-number .worklog-cell-input { text-align: right; }
.worklog-excel-content-input { line-height: 3mm; white-space: pre-wrap; }
.worklog-excel-edit-tools { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; width: min(210mm, 100%); margin: 0 auto 8px; }
.worklog-excel-edit-tools button { border: 1px solid #b8c2cf; border-radius: 4px; background: #fff; padding: 5px 8px; color: #1e3a5f; font-size: 10px; }
.worklog-fuel-editor { align-items: center; width: min(297mm, 100%); }
.worklog-fuel-editor span { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #d4dbe3; border-radius: 4px; background: #fff; padding-left: 7px; font-size: 10px; }
.worklog-fuel-editor span button { border: 0; border-left: 1px solid #d4dbe3; border-radius: 0; color: #b91c1c; }

@media (max-width: 767px) {
  .weekly-worklog-shell > header > div { display: grid; gap: 1px; }
  .weekly-worklog-toolbar { align-items: end; padding-inline: 8px; }
  .weekly-worklog-tabs, .weekly-worklog-week-tabs { padding-left: 8px; }
  #weekly-worklog-content { padding: 10px; }
  .worklog-paper { transform-origin: top left; }
}

.worklog-print-window { margin: 0; background: #fff; }
.worklog-print-window .worklog-paper { margin: 0 auto; box-shadow: none; page-break-after: always; break-after: page; }
.worklog-print-window .worklog-paper:last-child { page-break-after: auto; break-after: auto; }

@page { size: A4 portrait; margin: 0; }
@media print {
  .worklog-print-window .worklog-paper { width: 210mm; height: 297mm; min-height: 297mm; overflow: hidden; }
  .worklog-print-window .worklog-landscape { width: 297mm; height: 210mm; min-height: 210mm; }
  .worklog-print-window .worklog-landscape { page: landscape-sheet; }
  .worklog-day-tools, .worklog-row-actions, .worklog-add-fuel, .worklog-excel-edit-tools { display: none !important; }
  .worklog-excel-overlay .worklog-cell-input, .worklog-excel-content-input { background: transparent !important; box-shadow: none !important; }
}
@page landscape-sheet { size: A4 landscape; margin: 0; }
