body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;background:#f3f4f6}
.photo-preview-box{background-size:cover;background-position:center}
#app.hidden,.auth-screen.hidden{display:none}
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f3f4f6}
.auth-card{width:min(100%,420px);background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:32px;box-shadow:0 12px 34px rgba(30,58,138,.1)}
.auth-mark{font-weight:800;color:#1e3a8a;margin-bottom:20px}.auth-mark i{color:#f59e0b;margin-right:6px}
.auth-card h1{font-size:22px;font-weight:800;line-height:1.3;color:#111827}.auth-card>p{font-size:13px;color:#6b7280;margin:8px 0 24px}
.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#374151}
.auth-card input,.manage-input{display:block;width:100%;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;padding:10px 12px;min-height:42px;font-size:14px;color:#111827}
.auth-card form button{background:#2563eb;color:#fff;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;margin-top:4px;min-height:42px}
.auth-card form button:hover{background:#1d4ed8}.auth-card small{display:block;margin-top:18px;color:#9ca3af;font-size:12px}
.form-error{font-size:12px;color:#dc2626;min-height:1em}.modal-open,.report-open{overflow:hidden}
#zoneTabs{scrollbar-width:none}#zoneTabs::-webkit-scrollbar{display:none}
#taskListContainer article{min-width:0}#taskListContainer article button:focus-visible,.auth-card button:focus-visible,#app button:focus-visible,#app input:focus-visible,#app select:focus-visible,#app textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
#viewDetailModal img[data-photo]{min-width:100px}#photoPreviewContainer img{object-fit:cover}
#reportContent table{table-layout:auto}#reportContent td,#reportContent th{vertical-align:top}
@media(max-width:639px){header .max-w-7xl{position:relative}header .max-w-7xl>.flex{row-gap:16px}header h1{max-width:calc(100vw - 76px)}#userMenuWrap{position:absolute;right:12px;top:8px}#reportContent table{min-width:0}#reportContent .report-desktop-only{display:none}#printableReport{overscroll-behavior:contain}.auth-card{padding:24px}}
@media print{
  @page{size:A4 portrait;margin:9mm}
  html,body{background:#fff!important;margin:0!important;padding:0!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #app>header,#app>main,#addTaskModal,#inspectionModal,#viewDetailModal,#managePanel,#lightbox,#toast,#printableReport>div:first-child{display:none!important}
  #app,#printableReport{display:block!important;position:static!important;inset:auto!important;overflow:visible!important;max-height:none!important;padding:0!important;margin:0!important;background:#fff!important}
  #reportContent{margin:0!important;overflow:visible!important}
  #reportContent>div:first-child{margin-bottom:10px!important}
  #reportContent h1{font-size:17px!important}
  #reportContent table{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:11px!important;line-height:1.25!important}
  #reportContent th.report-desktop-only,#reportContent td.report-desktop-only{display:table-cell!important}
  #reportContent th,#reportContent td{padding:5px!important;overflow-wrap:anywhere;word-break:break-word}
  #reportContent th:nth-child(1){width:4%}#reportContent th:nth-child(2){width:9%}#reportContent th:nth-child(3){width:17%}#reportContent th:nth-child(4){width:13%}#reportContent th:nth-child(5){width:12%}#reportContent th:nth-child(6){width:25%}#reportContent th:nth-child(7),#reportContent th:nth-child(8){width:10%}
  #reportContent tr{break-inside:avoid}
  #reportContent .mt-8{margin-top:16px!important;padding-top:12px!important}
}
.welcome-back{width:100%;border:0;background:transparent;color:#1d4ed8;font-weight:700;padding:9px;cursor:pointer}.welcome-back:hover{text-decoration:underline}
.public-today-tag.hidden,.public-summary.hidden,#dateFilterWrap.hidden,#fullStats.hidden,#reportWrap.hidden,#advancedFilters.hidden{display:none}
.public-today-tag{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #4f75bd;border-radius:8px;padding:6px 9px;background:#1e40af;color:#fff;font-size:12px;font-weight:700}
.public-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px 22px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.public-summary-label{font-size:15px;font-weight:800;color:#1e3a8a}.public-summary-scope{font-size:12px;color:#64748b;margin-top:4px}.public-summary-total{display:flex;align-items:baseline;gap:5px;white-space:nowrap;color:#1e3a8a}.public-summary-total strong{font-size:38px;line-height:1;font-weight:800}.public-summary-total span{font-size:14px;font-weight:700}
.public-mode #zoneControlRow{border:0;padding-bottom:0}.public-mode #taskListContainer{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
.public-mode #controlsPanel.hidden,.public-mode #zoneControlRow.hidden,.public-mode #headerSubtitle,.public-mode #emptyState>i,.public-mode #emptyDescription,.public-mode #emptyState button{display:none!important}
.public-mode #emptyState{padding:28px 16px}
.public-task{min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.public-task-main{padding:16px;flex:1}.public-task-zone{display:inline-block;border-radius:5px;background:#dbeafe;color:#1e40af;padding:3px 7px;font-size:11px;font-weight:800}.public-task h3{font-size:16px;font-weight:800;line-height:1.4;color:#0f172a;margin-top:9px;overflow-wrap:anywhere}
.public-task-footer{border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:10px 14px;font-size:12px;color:#475569}.public-task-status strong{font-weight:800;color:#b45309}.public-task-status strong.checked{color:#15803d}.public-task-footer button{margin-left:auto;color:#1d4ed8;font-weight:800;white-space:nowrap;min-height:32px;padding:3px 0 3px 8px}.public-task-footer button i{font-size:10px;margin-left:3px}
@media(max-width:639px){#app.public-mode>header .max-w-7xl>.flex{gap:9px}#app.public-mode>header h1{font-size:14px}#app.public-mode #publicLoginButton{padding:6px 8px}.public-summary{padding:15px 17px}.public-summary-label{font-size:14px}.public-summary-total strong{font-size:34px}.public-mode #taskListContainer{grid-template-columns:1fr}}
