/* 自主檢查表離線版：外框（填表畫面共用主網站的 css/style.css） */
body { margin: 0; background: var(--page-bg); }
.ol-bar {
  position: sticky; top: 0; z-index: 5;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px;
  padding: 10px 16px; background: #fff; border-bottom: 1px solid #e8ebf0;
}
.ol-brand { display: flex; align-items: center; gap: 8px; margin-right: auto; }
.ol-brand img { border-radius: 6px; }
.ol-title { font-weight: 700; font-size: 16px; }
.ol-sub { font-size: 11px; color: var(--muted); }
.ol-project { display: flex; align-items: center; gap: 4px; font-size: 13px; color: var(--muted); }
.ol-project select { max-width: 180px; padding: 6px 8px; font: inherit; font-size: 14px; color: var(--text); border: 1px solid #d9dde4; border-radius: 6px; background: #fff; }
.ol-btn { padding: 6px 10px; font-size: 13px; color: #374151; background: #fff; border: 1px solid #d9dde4; border-radius: 6px; white-space: nowrap; }
.ol-btn:hover { border-color: #7c3aed; color: #7c3aed; }
.ol-status { padding: 3px 8px; font-size: 12px; color: #1d7a2a; background: #e8f7ea; border-radius: 10px; white-space: nowrap; }
.ol-content { padding: 16px; max-width: 1200px; margin: 0 auto; }

/* 工地視窗：工地名稱＋公司名稱上下兩欄 */
.ol-pj-fields { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pj-add { align-items: flex-start; }

/* 備份視窗 */
.ol-backup p { margin: 0; font-size: 13px; color: #4b5563; line-height: 1.6; }
.ol-backup-actions { display: flex; flex-direction: column; gap: 8px; }
.ol-backup-actions .ol-btn { padding: 10px 12px; font-size: 14px; text-align: left; }
.ol-tip { padding: 8px 10px; font-size: 12px; color: #6b5300; background: #fffbea; border: 1px solid #f3e3a1; border-radius: 6px; line-height: 1.6; }

@media (max-width: 600px) {
  .ol-bar { padding: 8px 10px; }
  .ol-sub { display: none; }
  .ol-project > span { display: none; }
  .ol-project select { max-width: 130px; }
  .ol-content { padding: 10px; }
}
/* 簽名框：清除＋放大簽名按鈕 */
.sk-sign .sk-sign-head { flex-wrap: wrap; }
.sk-sign-tools { display: flex; gap: 6px; margin-left: auto; }
.sk-sign-tools .sk-sign-clear { white-space: nowrap; }
.sk-sign-full { padding: 2px 10px; font-size: 12px; color: #5b21b6; background: #fff; border: 1px solid #d6ccf5; border-radius: 4px; white-space: nowrap; }
.sk-sign-full:hover { border-color: #7c3aed; }

/* 滿版簽名畫面 */
.sk-signfs { width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #fff; color: var(--text); }
.sk-signfs[open] { display: flex; flex-direction: column; overflow: hidden; }
.sk-signfs::backdrop { background: #fff; }
.sk-signfs-bar {
  display: flex; align-items: center; gap: 8px;
  padding: calc(10px + env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) 10px max(12px, env(safe-area-inset-left, 0px));
  border-bottom: 1px solid #e5e7eb;
}
.sk-signfs-title { margin-right: auto; font-size: 15px; font-weight: 600; min-width: 0; }
.sk-signfs-bar .sk-btn, .sk-signfs-bar .sk-fill { padding: 8px 14px; font-size: 14px; }
.sk-signfs-bar .sk-fill { color: #fff; background: #7c3aed; border: 0; border-radius: 6px; font-weight: 600; }
.sk-signfs-area { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; padding: 12px; }
.sk-signfs-pad { touch-action: none; background: #fff; border: 1px dashed #b9c0ca; border-radius: 8px; cursor: crosshair; }
.sk-signfs-tip { padding: 6px 12px calc(10px + env(safe-area-inset-bottom, 0px)); text-align: center; font-size: 13px; color: #9aa1ab; }
@media (orientation: landscape) { .sk-signfs-tip { display: none; } }

/* 手機窄螢幕：檢查表清單改成卡片，不用左右滑就看得到「填表」按鈕 */
@media (max-width: 640px) {
  .sk-table-wrap { overflow-x: visible; }
  .sk-table thead { display: none; }
  .sk-table, .sk-table tbody { display: block; }
  .sk-table tbody tr {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px;
    padding: 12px 4px; border-top: 1px solid var(--sk-line);
  }
  .sk-table tbody tr:hover { background: none; }
  .sk-table td { display: block; padding: 0; border: 0; white-space: normal; }
  .sk-table td.sk-cat, .sk-table td.sk-name { flex-basis: 100%; min-width: 0; }
  .sk-table td.sk-name { font-size: 15px; font-weight: 600; line-height: 1.4; }
  .sk-table td.sk-loc, .sk-table td.sk-date { font-size: 13px; color: var(--muted); }
  .sk-table td.sk-loc::before, .sk-table td.sk-date::before { content: attr(data-label) "："; }
  .sk-table td.sk-act { margin-left: auto; }
  .sk-table td.sk-act .sk-fill { padding: 8px 16px; font-size: 14px; }
  .sk-table td.sk-empty { flex-basis: 100%; }
  .sk-vi .sk-table td.sk-name, .sk-vi .sk-table td:first-child { min-width: 0; }
}

@media print {
  .ol-bar { display: none !important; }
  /* 紙張邊界設為 0，瀏覽器就沒有空間印網址、日期、頁碼；改由內容自己留 10mm 白邊（每頁都留） */
  @page { size: A4; margin: 0; }
  body.sk-printing #skPrintRoot { padding: 10mm; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
}
