#freelance{overflow:auto;padding:76px 24px 96px}.fl-wrap{width:min(1200px,100%);margin:auto;color:#f5fbff}.fl-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.fl-title small{color:#55c6ff;letter-spacing:.18em}.fl-title h1{font-size:34px;margin:4px 0}.fl-title p{margin:0;color:#c5d9e8}.fl-progress{display:flex;align-items:center;padding:14px 22px;background:rgba(4,31,49,.94);border:1px solid #2380aa;border-radius:14px;margin-bottom:12px}.fl-progress button{border:0;background:none;color:#a9bfd0;display:flex;align-items:center;gap:8px;font-weight:800}.fl-progress button b{display:grid;place-items:center;width:34px;height:34px;border:2px solid #6c89a0;border-radius:50%}.fl-progress button.active{color:white}.fl-progress button.active b{background:#128dd2;border-color:#67d8ff}.fl-progress button.done b{background:#159a5c;border-color:#5dffac}.fl-progress i{height:2px;flex:1;background:#698397;margin:0 12px}.fl-stage{display:block}.fl-stage[hidden]{display:none}.fl-stage[data-fl-stage=location],.fl-review-grid,.fl-work-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.4fr);gap:12px}.fl-card{background:rgba(4,31,49,.96);border:1px solid #2c728f;border-radius:14px;padding:14px;box-shadow:0 8px 30px #00172455}.fl-card h2{margin:0 0 12px;font-size:21px}.fl-card>p{color:#bcd2e0}.fl-map-card iframe,#flReviewMap{width:100%;height:440px;border:0;border-radius:10px;background:#234}.fl-hint{padding:10px;color:#54e79c}.fl-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fl-fields label{font-size:11px;font-weight:800}.fl-fields label.wide{grid-column:1/-1}.fl-fields input,.fl-fields select,.fl-fields textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;background:#061e30;border:1px solid #4d7790;border-radius:8px;color:white;padding:12px;font:inherit;font-size:14px}.fl-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}.fl-actions span{margin-right:auto;color:#ffd27a;font-weight:700}.fl-photo-card{max-width:1120px;margin:auto}.fl-photo-card h2{display:flex;justify-content:space-between}.fl-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.fl-photo-slot{position:relative;aspect-ratio:4/3;border:2px dashed #4683a1;border-radius:10px;overflow:hidden;background:#08283c}.fl-photo-slot input{display:none}.fl-add-photo{width:100%;height:100%;border:0;background:transparent;color:#d4e8f4;font-weight:800}.fl-add-photo span{display:block;font-size:28px}.fl-photo-slot .photo-preview{display:none;width:100%;height:100%;object-fit:cover}.fl-photo-slot.has-photo .photo-preview{display:block}.fl-photo-slot.has-photo .fl-add-photo{display:none}.fl-replace{display:none;position:absolute;right:6px;top:6px;border:0;border-radius:6px;background:#087cca;color:white;padding:7px;font-size:11px;font-weight:800}.fl-photo-slot.has-photo .fl-replace{display:block}.fl-photo-slot .photo-stamp-state{display:none;position:absolute;inset:auto 0 0;background:#000a;padding:7px;text-align:center}.fl-photo-slot.stamping .photo-stamp-state{display:block}.fl-location-name{padding:18px;background:#0b3c57;border-radius:9px;font-size:20px;font-weight:800}.fl-job-summary dl{display:grid;grid-template-columns:130px 1fr;gap:12px}.fl-job-summary dt{color:#9fbbcc}.fl-job-summary dd{margin:0;font-weight:800}.fl-pump .fl-test-pill{float:right;background:#c87900;border-radius:999px;padding:6px 10px;font-size:11px}.fl-live{background:#0cab62;border:2px solid #35ed92;border-radius:10px;text-align:center;padding:14px;font-size:28px;font-weight:900}.fl-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.fl-metrics div{background:#07263a;border:1px solid #2d7190;border-radius:10px;padding:14px;text-align:center}.fl-metrics span{display:block;color:#a9c3d2;font-size:11px}.fl-metrics b{display:block;font-size:26px;margin-top:5px}.fl-metrics em{font-style:normal}.fl-pump canvas{width:100%;height:150px;background:#061e30;border-radius:9px}.fl-review-location{padding:12px;font-weight:800}.fl-review-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fl-review-photos h3{font-size:13px}.fl-review-photos>div>div{display:flex;gap:8px;overflow:auto}.fl-review-photos img{width:130px;height:90px;object-fit:cover;border-radius:7px;border:1px solid #4f8199}.theme-day #freelance .fl-wrap{color:#092f48}.theme-day #freelance .fl-title p{color:#38617a}.theme-day #freelance .fl-card{background:rgba(248,252,255,.96);border-color:#aac7d8}.theme-day #freelance .fl-fields input,.theme-day #freelance .fl-fields select,.theme-day #freelance .fl-fields textarea{background:white;color:#092f48}.theme-day #freelance .fl-card>p{color:#42697f}
@media(max-width:900px){#freelance{padding:18px 14px 88px}.fl-stage[data-fl-stage=location],.fl-review-grid,.fl-work-grid{grid-template-columns:1fr}.fl-progress{padding:10px}.fl-progress button span{font-size:10px}.fl-progress i{margin:0 5px}.fl-photo-grid{grid-template-columns:repeat(3,1fr)}.fl-map-card iframe,#flReviewMap{height:330px}.fl-title h1{font-size:28px}}
@media(max-width:600px){.fl-progress button span{display:none}.fl-fields,.fl-review-photos{grid-template-columns:1fr}.fl-photo-grid{grid-template-columns:repeat(2,1fr)}.fl-metrics{grid-template-columns:repeat(2,1fr)}}
.fl-stage[hidden]{display:none!important}
#freelance .fl-fields label{min-width:0;display:block}
#freelance .fl-fields input,#freelance .fl-fields select{min-width:0;max-width:100%;width:100%;height:48px;min-height:48px;box-sizing:border-box;line-height:22px;font-size:16px;margin-top:6px}
#freelance .fl-fields input[type=datetime-local]{-webkit-appearance:none;appearance:none;text-align:left;padding:10px;overflow:hidden}
#freelance input::-webkit-date-and-time-value{text-align:left;min-width:0}
#freelance .fl-fields select{padding:10px 28px 10px 12px}
body.crew-view #app #freelance.page{padding-top:20px;padding-bottom:calc(120px + env(safe-area-inset-bottom));height:auto;max-height:none}

/* All five freelance steps share the same daylight palette. */
body.theme-day #freelance{color-scheme:light}
body.theme-day #freelance .fl-progress,
body.theme-day #freelance .fl-card{background:rgba(248,252,255,.97);color:#173d52;border-color:#aac7d8;box-shadow:0 5px 18px #143d5214}
body.theme-day #freelance .fl-title small{color:#225c7d}
body.theme-day #freelance .fl-progress button{color:#496879}
body.theme-day #freelance .fl-progress button b{background:#e5eef5;border-color:#8eaebe;color:#355568}
body.theme-day #freelance .fl-progress button.active,
body.theme-day #freelance .fl-progress button.done{color:#173d52}
body.theme-day #freelance .fl-progress button.active b{background:#087dbb;border-color:#087dbb;color:#fff}
body.theme-day #freelance .fl-progress button.done b{background:#178447;border-color:#178447;color:#fff}
body.theme-day #freelance .fl-progress i{background:#aac7d8}
body.theme-day #freelance .fl-fields label,
body.theme-day #freelance h2,body.theme-day #freelance h3,
body.theme-day #freelance .fl-job-summary dd,
body.theme-day #freelance .fl-review-location{color:#173d52}
body.theme-day #freelance .fl-fields input,
body.theme-day #freelance .fl-fields select,
body.theme-day #freelance .fl-fields textarea{background:#fff;color:#173d52;border-color:#a6c4d5}
body.theme-day #freelance .fl-fields input[readonly]{background:#edf5fa}
body.theme-day #freelance input::placeholder,
body.theme-day #freelance textarea::placeholder{color:#587485;opacity:1}
body.theme-day #freelance .fl-hint{color:#08723d}
body.theme-day #freelance .fl-actions span{color:#885009}
body.theme-day #freelance .secondary-btn{background:#edf5fa!important;color:#173d52!important;border-color:#a6c4d5!important}
body.theme-day #freelance .primary-btn,
body.theme-day #freelance .fl-replace{background:#087dbb!important;color:#fff!important;border-color:#087dbb!important}
body.theme-day #freelance .fl-photo-slot{background:#edf5fa!important;color:#173d52;border-color:#82aabd}
body.theme-day #freelance .fl-add-photo{background:transparent!important;color:#285b77!important}
body.theme-day #freelance .fl-photo-slot .photo-stamp-state{background:#eaf3fbee;color:#173d52}
body.theme-day #freelance .fl-location-name,
body.theme-day #freelance .fl-metrics div{background:#edf5fa;color:#173d52;border-color:#aac7d8}
body.theme-day #freelance .fl-job-summary dt,
body.theme-day #freelance .fl-metrics span,
body.theme-day #freelance .fl-pump p{color:#496879}
body.theme-day #freelance .fl-metrics b{color:#173d52}
body.theme-day #freelance .fl-live{background:#178447;border-color:#178447;color:#fff}
body.theme-day #freelance .fl-test-pill{background:#ffecbd;color:#714408}
body.theme-day #freelance .fl-pump canvas{background:#f5f9fc;border:1px solid #aac7d8;box-sizing:border-box}
body.theme-day #freelance iframe{background:#edf5fa}
body.theme-day #freelance .fl-review-photos img{border-color:#aac7d8}
#freelance.linked-workflow [data-fl-back=location],#freelance .fl-progress [hidden]{display:none!important}
.fl-linked-details{border-top:1px solid #82aabd;margin-top:12px;padding-top:8px;line-height:1.5;overflow-wrap:anywhere}
body:has(#freelance.linked-workflow.active) #activeJobBanner{display:none!important}
.fl-arrival-status,.fl-resume-choice,.fl-save-later{display:none}
#freelance.linked-workflow .fl-arrival-status:not([hidden]){display:block;margin:0 0 14px}
.fl-arrival-status summary{font-size:18px;font-weight:800;cursor:pointer;min-height:44px;align-content:center}
.fl-arrival-status label{display:block;font-size:13px;font-weight:700;margin-top:12px}
.fl-arrival-status select,.fl-arrival-status textarea{display:block;box-sizing:border-box;width:100%;min-height:48px;margin-top:6px;padding:12px;border:1px solid #4d7790;border-radius:8px;background:#061e30;color:#f5fbff;font-size:16px}
#freelance.linked-workflow .fl-save-later{display:inline-block}
#freelance.linked-workflow .fl-resume-choice{display:flex;gap:12px;align-items:center;margin-top:18px;padding:16px;border:1px solid #7299ad;border-radius:10px;cursor:pointer}
.fl-resume-choice input{flex:0 0 26px;width:26px;height:26px;min-height:26px;accent-color:#087dbb}
.fl-resume-choice small{display:block;margin-top:5px}
body.theme-day #freelance .fl-arrival-status select,body.theme-day #freelance .fl-arrival-status textarea{background:#fff;border-color:#a6c4d5;color:#173d52}
body.theme-day #freelance .fl-resume-choice{background:#edf5fa;color:#173d52}
#freelance .fl-actions{flex-wrap:wrap}
#flStatusPhotoSection[hidden]{display:none!important}
#flStatusPhotoSection{margin-top:18px}
#flStatusPhotos{grid-template-columns:repeat(4,minmax(0,1fr))}
#flStatusPhotoSection h3{display:flex;justify-content:space-between}
@media(max-width:600px){#flStatusPhotos{grid-template-columns:repeat(2,minmax(0,1fr))}}
#freelance.linked-workflow.fl-issue-mode .fl-progress,
#freelance.linked-workflow.fl-issue-mode .fl-stage{display:none!important}
#freelance .fl-arrival-status [hidden]{display:none!important}
.fl-cancel-linked{display:none;border:2px solid #ef4444;border-radius:8px;background:transparent;color:#ff5b5b;padding:11px 18px;font:inherit;font-weight:900}
#freelance.linked-workflow .fl-cancel-linked{display:inline-flex;align-items:center;justify-content:center}
body.theme-day #freelance .fl-cancel-linked{background:#fff7f7;color:#b91c1c;border-color:#dc2626}

/* v47 — tablet freelance actions and portrait form. */
body.crew-view #freelance .fl-title>#flClear{display:none!important}
body.crew-view #freelance .fl-actions>#flClear{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:48px!important;margin:0!important;padding:10px 18px!important;
}
@media(orientation:portrait) and (max-width:900px){
 body.crew-view #freelance.page{width:100%!important;padding:76px 12px 96px!important;overflow:visible!important}
 body.crew-view #freelance .fl-wrap{width:100%!important}
 body.crew-view #freelance .fl-title{padding:0 8px!important;margin-bottom:12px!important}
 body.crew-view #freelance .fl-title h1{font-size:27px!important}
 body.crew-view #freelance .fl-progress{padding:10px 8px!important;overflow:hidden!important}
 body.crew-view #freelance .fl-progress button{min-width:0!important;padding:0 2px!important;gap:5px!important}
 body.crew-view #freelance .fl-progress button span{font-size:8px!important;white-space:nowrap!important}
 body.crew-view #freelance .fl-progress button b{width:29px!important;height:29px!important;flex:0 0 29px!important}
 body.crew-view #freelance .fl-progress i{min-width:8px!important;margin:0 3px!important}
 body.crew-view #freelance .fl-stage[data-fl-stage="location"]:not([hidden]){display:flex!important;flex-direction:column!important;gap:12px!important}
 body.crew-view #freelance .fl-card{padding:14px!important;border-radius:13px!important}
 body.crew-view #freelance .fl-map-card iframe{height:330px!important}
 body.crew-view #freelance .fl-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 body.crew-view #freelance .fl-fields label{min-width:0!important;font-size:10px!important}
 body.crew-view #freelance .fl-fields input,
 body.crew-view #freelance .fl-fields select,
 body.crew-view #freelance .fl-fields textarea{height:48px!important;min-width:0!important;padding:10px!important;font-size:13px!important;border-radius:9px!important}
 body.crew-view #freelance .fl-fields input[readonly]{background:#edf5fa!important}
 body.crew-view #freelance .fl-fields label:last-child{grid-column:1/-1!important}
 body.crew-view #freelance .fl-actions{display:grid!important;grid-template-columns:1fr 1.45fr!important;gap:10px!important;margin-top:14px!important}
 body.crew-view #freelance .fl-actions>span{grid-column:1/-1!important;width:100%!important;margin:0!important}
 body.crew-view #freelance .fl-actions>span:empty{display:none!important}
 body.crew-view #freelance .fl-actions button{width:100%!important;min-height:48px!important;padding:9px!important;font-size:12px!important}
 body.crew-view #freelance .fl-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.crew-view #freelance .fl-review-grid,
 body.crew-view #freelance .fl-work-grid{grid-template-columns:1fr!important}
}
/* Both tablet orientations reserve a clear row for the fixed back button. */
body.crew-view #app main #freelance.page{
 padding-top:calc(92px + env(safe-area-inset-top))!important;
 margin-top:0!important;transform:none!important;
}
body.crew-view #app #freelance .fl-wrap,
body.crew-view #app #freelance .fl-title{margin-top:0!important;transform:none!important}
