/* Individual business jobs occupy the space above the navigation. */
#biz-jobs-status{margin:0;text-align:center;font-size:13px;flex:none}
#biz-jobs-status:empty{display:none}
#biz-job-list{height:calc(100dvh - 390px);min-height:120px;flex:none;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:2px;box-sizing:border-box}
#biz-job-list .upcoming-day{margin:0 0 10px}
#biz-job-list .upcoming-day h3{font-size:13px;margin:6px 0;text-align:center;color:var(--muted)}
html body #biz-job-list button.upcoming-job-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;width:100%;margin:0 0 10px;min-height:70px;padding:12px;white-space:normal;cursor:pointer;text-align:center}
html body #biz-job-list button.upcoming-job-entry>span{flex:none!important;min-width:0;font-size:14px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
html body #biz-job-list button.upcoming-job-entry>small{flex:none;color:var(--muted);font-size:12px}
#biz-job-list .upcoming-job-entry:focus-visible{outline:3px solid #d9ae50;outline-offset:-3px}

/* Centered business details; each paired row keeps equal columns on mobile. */
html body dialog.business-job-dialog .property-job-fields{text-align:center}
.business-job-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.business-job-pair>div{min-width:0}
.business-job-pair dt{font-size:14px}
.business-job-pair dd{font-size:14px;line-height:1.4}
html body dialog.business-job-dialog h2{text-align:center}

.job-status-color{display:inline-block;border:0;border-radius:8px;padding:7px 10px;font-weight:800;text-align:center;font-size:14px;line-height:1.35;max-width:100%;box-sizing:border-box}
select.job-status-color{width:100%;min-height:40px;cursor:pointer;font-family:inherit;text-align-last:center}
#biz-job-list .job-status-color{flex:none!important;font-size:12px}

html body dialog.business-job-dialog h2{font-size:14px;line-height:1.4;margin:0;font-weight:700}
.business-job-id{font-size:14px;line-height:1.4;margin:4px 0 10px;overflow-wrap:anywhere;text-align:center}
.business-job-product{font-size:16px;font-weight:700;margin:6px 0;text-align:center}
.technician-notes{margin-top:14px;text-align:center}
.technician-notes label{display:block;font-size:14px;font-weight:700}
.technician-notes textarea{display:block;box-sizing:border-box;width:100%;min-height:100px;margin:6px 0 10px;padding:10px;border:1px solid #cbd4e4;border-radius:8px;font:inherit;font-weight:400;font-size:16px;resize:vertical;text-align:start}
html body .technician-notes .job-note-actions>button:first-child{background:#172d71;color:white;font-weight:700}
.technician-notes>p{font-size:13px;margin:6px 0}.technician-notes>p:empty{display:none}
html body .technician-notes .job-note-actions>button:first-child[data-saved="true"]{background:#238636;color:#fff}
.technician-notes>p{font-weight:700;min-height:18px}
.job-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;margin-top:12px}
html body .job-photo-actions>button{width:100%;margin:0;padding:10px 6px;font-size:14px}
.job-photo-picker{margin:10px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.job-photo-picker[hidden]{display:none}
.job-photo-picker label{font-size:14px;font-weight:700;text-align:center;min-width:0}
.job-photo-picker input{display:block;width:100%;font-size:12px;margin-top:6px}
.job-photo-gallery{display:grid;gap:8px;margin-top:8px}
html body dialog.business-job-dialog .job-photo-picker[hidden]{display:none!important}
html body dialog.business-job-dialog .job-photo-picker:not([hidden]){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body dialog.business-job-dialog .job-photo-picker label{margin:4px 0;min-width:0}
html body dialog.business-job-dialog .job-photo-picker input{padding:6px 2px;box-sizing:border-box}

html body main #biz-live-jobs>button.business-job-card{display:block;width:100%;box-sizing:border-box;text-align:center;font:inherit;color:inherit;cursor:pointer;padding:12px}
html body main #biz-live-jobs>button.business-job-card:focus-visible{outline:2px solid #172d71;outline-offset:2px}

/* Keep note actions symmetrical and compact without changing their handlers. */
html body dialog.business-job-dialog .job-note-actions,
html body dialog.business-job-dialog .job-photo-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;justify-content:center;box-sizing:border-box;width:100%;max-width:420px;margin:8px auto 0;padding:0}
html body dialog.business-job-dialog .job-note-actions>button,
html body dialog.business-job-dialog .job-photo-actions>button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:48px;height:100%;margin:0;padding:10px 6px;font-size:14px;line-height:1.35;white-space:normal}

/* Native file inputs stay hidden; the two upload buttons share one row. */
html body dialog.business-job-dialog .job-photo-picker{box-sizing:border-box;width:100%;max-width:420px;margin:8px auto;align-items:stretch}
html body dialog.business-job-dialog .job-photo-picker>input[hidden]{display:none!important}
html body dialog.business-job-dialog .job-photo-picker>button{box-sizing:border-box;width:100%;min-width:0;min-height:48px;margin:0;padding:10px 6px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1.35;white-space:normal}
.job-upload-status{text-align:center;font-weight:700;margin:8px 0}
.job-upload-status:empty{display:none}
.job-upload-status[data-state="success"]{color:#16803c}
.job-upload-status[data-state="error"]{color:#b42318}
