
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Barlow:wght@400;500;600;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --black:#0d0d0d;--dark:#1a1a1a;--mid:#444;--steel:#777;
  --line:#d4d4d4;--light:#f5f5f5;--white:#fff;--yellow:#fffbe6;
  --red:#b91c1c;--red-bg:#fef2f2;--red-bdr:#fca5a5;
  --blue:#1a56db;--blue-h:#1e429f;
  --green:#166534;--green-bg:#f0fdf4;
  --amber:#92400e;--amber-bg:#fffbeb;--amber-bdr:#f59e0b;
  --radius:6px;
}

html{font-size:16px;}
body{font-family:'Barlow',sans-serif;background:#e0e0e0;min-height:100vh;padding:0 0 80px;}

/* ── TOOLBAR ── */
.toolbar{
  position:sticky;top:0;z-index:200;background:var(--black);
  padding:10px 16px;display:flex;flex-wrap:wrap;
  gap:8px;align-items:center;justify-content:center;
  box-shadow:0 2px 12px rgba(0,0,0,.4);
}
.toolbar-ts{font-family:'Barlow Condensed',sans-serif;font-size:11px;color:#aaa;letter-spacing:1px;flex-basis:100%;text-align:center;order:-1;}
.btn{
  padding:10px 18px;border:none;border-radius:var(--radius);cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:1.5px;text-transform:uppercase;transition:all .2s;
  -webkit-tap-highlight-color:transparent;min-height:44px;
}
.btn-pdf{background:#333;color:#ccc;flex:1;}
.btn-pdf:hover{background:#555;}
.btn-email{background:var(--blue);color:#fff;box-shadow:0 2px 10px rgba(26,86,219,.4);flex:1;}
.btn-email:hover{background:var(--blue-h);}
.btn-email:disabled,.btn-pdf:disabled{opacity:.7;cursor:not-allowed;}
.btn-clear{background:#1a1a1a;color:#888;border:1px solid #333;flex:1;}
.btn-clear:hover{background:#2a2a2a;color:#ccc;}
@media(max-width:480px){
  .btn{padding:10px 6px;font-size:11px;letter-spacing:.5px;}
}
.btn-add-row{background:var(--green-bg);color:var(--green);border:1.5px solid #86efac;padding:5px 14px;font-size:12px;min-height:unset;border-radius:4px;}
.btn-add-row:hover{background:#dcfce7;}
.btn-remove-row{background:none;border:none;cursor:pointer;color:#d1d5db;font-size:18px;line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s;}
.btn-remove-row:hover{color:var(--red);}
.schedule-select{display:block;width:100%;min-width:108px;height:30px;padding:4px 3px;border:0;background:#fff;font-family:'Barlow',sans-serif;font-size:11px;color:var(--black);text-align:center;}
.schedule-select:focus{outline:2px solid var(--black);outline-offset:-2px;background:var(--yellow);}
.workers-table td.copy-time-actions{display:grid;grid-template-columns:1fr 1fr 28px;gap:3px;align-items:center;padding:3px;min-width:172px;}
.btn-copy-time{min-height:28px;padding:3px 4px;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--mid);cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap;}
.btn-copy-time:hover{border-color:var(--black);background:var(--light);}
.btn-copy-time:disabled{cursor:not-allowed;opacity:.42;}
.schedule-status{position:fixed;right:16px;bottom:16px;z-index:300;max-width:360px;padding:10px 14px;border-left:4px solid var(--red);background:var(--black);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:12px;font-weight:600;}
.schedule-status:empty{display:none;}

/* ── PAGE ── */
.page{background:var(--white);max-width:900px;margin:24px auto 0;box-shadow:0 4px 32px rgba(0,0,0,.15);}

/* ── HEADER ── */
.header{padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:3px solid var(--black);}
.header-logo{height:80px;width:auto;display:block;flex-shrink:0;}
.header-right{text-align:right;flex-shrink:0;}
.header-doc{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:800;color:var(--black);letter-spacing:3px;text-transform:uppercase;line-height:1.2;}
.header-sub{font-family:'Barlow',sans-serif;font-size:11px;color:var(--steel);margin-top:3px;}

/* ── TIMESTAMP STRIP ── */
.ts-strip{background:var(--black);padding:7px 24px;display:flex;align-items:center;justify-content:space-between;}
.ts-label{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;color:#666;letter-spacing:2px;text-transform:uppercase;}
.ts-label-hint{font-size:8px;font-weight:400;color:#555;letter-spacing:0;text-transform:none;margin-left:6px;}
.ts-datetime{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;color:#fff;letter-spacing:1px;background:transparent;border:none;border-bottom:1px solid #444;outline:none;cursor:pointer;color-scheme:dark;}
.ts-datetime:hover{border-bottom-color:#888;}
.ts-datetime:focus{border-bottom-color:#ccc;}

/* ── BODY ── */
.body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:0;}

/* ── SECTION HEADING ── */
.sh{
  font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--steel);
  background:var(--light);border:1.5px solid var(--black);border-bottom:none;
  padding:6px 12px;display:flex;align-items:center;justify-content:space-between;
}
.sh-req{color:var(--red);font-size:9px;font-weight:600;letter-spacing:1px;}
.sh-opt{color:var(--steel);font-size:9px;font-weight:400;letter-spacing:0;text-transform:none;}

/* ── META GRID ── */
.meta-grid{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--black);margin-bottom:16px;}
.mc{padding:7px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;align-items:baseline;gap:8px;}
.mc:nth-child(even){border-right:none;}
.mc.full{grid-column:1/-1;border-right:none;}
.mc:last-child,.mc.full:last-child{border-bottom:none;}
.ml{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;color:var(--steel);letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
.ml .req{color:var(--red);}
.mv{font-family:'Barlow',sans-serif;font-size:13px;color:var(--black);flex:1;border-bottom:1px solid var(--line);min-width:40px;padding:0 2px 1px;outline:none;}
.mv:focus{background:var(--yellow);border-bottom-color:var(--black);}
.mv.field-missing{border-bottom:2px solid var(--red-bdr);background:var(--red-bg);}
#field-address{white-space:pre-line;}

/* ── DATE INPUT ── */
.date-input{flex:1;border:none;border-bottom:1px solid var(--line);outline:none;padding:0 2px 1px;font-family:'Barlow',sans-serif;font-size:13px;color:var(--black);background:transparent;min-width:140px;cursor:pointer;}
.date-input:focus{background:var(--yellow);border-bottom-color:var(--black);}
.date-input.field-missing{border-bottom:2px solid var(--red-bdr);background:var(--red-bg);}

/* ── WORKERS TABLE ── */
.workers-wrap{border:1.5px solid var(--black);border-top:none;margin-bottom:16px;overflow-x:auto;}
.workers-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:820px;}
.workers-table thead tr{background:var(--light);}
.workers-table thead th{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--mid);padding:6px 10px;border-right:1px solid var(--line);border-bottom:1.5px solid var(--black);text-align:center;}
.workers-table thead th.left{text-align:left;}
.workers-table thead th:last-child{border-right:none;}
.workers-table tbody td{font-family:'Barlow',sans-serif;font-size:13px;color:var(--black);padding:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;}
.workers-table tbody td:last-child{border-right:none;}
.workers-table tbody tr:last-child td{border-bottom:none;}
.workers-table tbody tr:hover td{background:#fafafa;}
.e{display:block;width:100%;padding:6px 10px;outline:none;min-height:30px;}
.e:focus{background:var(--yellow);}
.ec{text-align:center;}

/* ── NOTES ── */
.notes-wrap{border:1.5px solid var(--black);border-top:none;margin-bottom:16px;padding:10px 14px;min-height:70px;}
.notes-field{font-family:'Barlow',sans-serif;font-size:13px;color:var(--black);outline:none;display:block;width:100%;min-height:52px;}
.notes-field:focus{background:var(--yellow);}

/* ── PHOTO EVIDENCE ── */
.evidence-wrap{border:1.5px solid var(--black);border-top:none;margin-bottom:16px;padding:14px;}
.photo-drop-zone{
  border:2px dashed var(--line);border-radius:8px;
  padding:20px 14px;text-align:center;cursor:pointer;
  transition:border-color .2s,background .2s;background:#fafafa;
}
.photo-drop-zone:hover,.photo-drop-zone.drag-over{border-color:var(--blue);background:#f0f4ff;}
.photo-drop-icon{font-size:26px;margin-bottom:6px;}
.photo-drop-text{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;color:var(--mid);letter-spacing:1px;text-transform:uppercase;}
.photo-drop-hint{font-family:'Barlow',sans-serif;font-size:11px;color:var(--steel);margin-top:4px;line-height:1.5;}
.photo-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.photo-thumb{position:relative;width:90px;height:72px;border-radius:6px;overflow:hidden;border:1.5px solid var(--line);flex-shrink:0;}
.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-thumb-remove{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.65);color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:13px;line-height:17px;text-align:center;cursor:pointer;padding:0;}
.photo-thumb-remove:hover{background:var(--red);}
.photo-count{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;color:var(--green);margin-top:8px;letter-spacing:1px;}

/* ── APPROVAL ── */
.approval-grid{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--black);margin-bottom:16px;}
.appr-cell{padding:10px 16px 20px;border-right:1px solid var(--line);}
.appr-cell:last-child{border-right:none;}
.appr-heading{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--steel);margin-bottom:10px;}
.appr-field{display:flex;align-items:center;gap:8px;margin-bottom:20px;}
.appr-label{font-family:'Barlow Condensed',sans-serif;font-size:9px;font-weight:600;color:var(--steel);letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
.appr-input{flex:1;border:none;border-bottom:1.5px solid var(--black);outline:none;padding:4px 6px;font-family:'Barlow',sans-serif;font-size:13px;color:var(--black);background:transparent;min-height:28px;min-width:60px;display:block;width:100%;}
.appr-input:focus{background:var(--yellow);}
.appr-sig-space{border-bottom:1px solid var(--line);margin-top:4px;height:40px;display:flex;align-items:center;}
.appr-sig-space .touch-signature-button{border:0;background:transparent;color:var(--blue);font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;padding:5px 0;}
.appr-sig-space .touch-signature-preview{width:min(180px,100%);height:38px;object-fit:contain;object-position:left center;display:block;}
.touch-signature-modal{max-width:560px;}.touch-signature-canvas{display:block;width:100%;height:220px;background:#fff;border:1.5px solid var(--black);touch-action:none;cursor:crosshair;}.touch-signature-hint{font-family:'Barlow',sans-serif;font-size:12px;color:var(--steel);margin:8px 0 0;}.touch-signature-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;}.touch-signature-actions .modal-btn{margin-top:0;width:auto;min-width:120px;}
.appr-sig-label{font-family:'Barlow Condensed',sans-serif;font-size:8px;color:#bbb;letter-spacing:1.5px;text-transform:uppercase;margin-top:3px;}

/* ── FOOTER ── */
.footer{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;border-top:2.5px solid var(--black);background:var(--light);}
.ft{font-family:'Barlow',sans-serif;font-size:9.5px;color:var(--steel);}
.fb{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;color:var(--black);letter-spacing:2px;text-transform:uppercase;}

/* ── MODALS ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999;display:none;align-items:center;justify-content:center;}
.modal-overlay.show{display:flex;}
.modal-box{background:#fff;border-radius:10px;padding:28px 32px;max-width:380px;width:90%;box-shadow:0 8px 40px rgba(0,0,0,.3);}
.modal-title{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;}
.modal-body{font-family:'Barlow',sans-serif;font-size:13px;color:#333;line-height:1.6;}
.modal-body ul{margin:10px 0 0 18px;color:var(--red);}
.modal-btn{margin-top:14px;width:100%;padding:11px;border:none;border-radius:var(--radius);font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;}
.modal-btn:hover{opacity:.88;}
.modal-btn-row{display:flex;gap:8px;margin-top:14px;}
.modal-btn-row .modal-btn{margin-top:0;}

/* ── PRINT ── */
@page{margin:0;size:Letter portrait;}
@media print{
  html,body{background:#fff;padding:0;margin:0;}
  .toolbar,.btn-remove-row,.btn-add-row,.copy-time-actions,.schedule-status,.modal-overlay,.photo-drop-zone,.photo-thumb-remove{display:none!important;}
  .page{max-width:100%;box-shadow:none;margin:0;}
  .workers-wrap{overflow:visible;}
  .workers-table{width:100%;min-width:0;table-layout:fixed;}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
}
