/* Shared employee / contractor cleaning flow. Scoped away from manager workspaces. */
.cw-workspace{--cw-ink:#19383e;--cw-muted:#65797f;--cw-accent:#23665e;--cw-line:#dbe6e4;max-width:920px;margin:0 auto;padding-bottom:24px;color:var(--cw-ink);font:15px/1.5 system-ui,-apple-system,sans-serif;min-width:0}.cw-workspace *,.cw-dialog *{box-sizing:border-box}.cw-workspace h2,.cw-workspace h3{color:var(--cw-ink);margin:0;letter-spacing:-.025em}.cw-workspace h2{font-size:28px;line-height:1.2}.cw-workspace h3{font-size:19px;line-height:1.3}.cw-workspace button{font-family:inherit}.cw-hero{padding:8px 0 20px}.cw-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.cw-heading>div{min-width:0}.cw-eyebrow{display:block;font-size:10px;letter-spacing:.12em;font-weight:800;color:#62817a;margin:0 0 5px}.cw-back{border:0;background:transparent;font-size:12px;color:#65797f;padding:8px 0;margin-bottom:10px;cursor:pointer;min-height:40px}.cw-status{flex-shrink:0;font-size:11px;border-radius:7px;background:#eaf0f2;color:#45636a;padding:6px 9px}.cw-status.is-done{color:#1c6c4b;background:#e7f3ec}.cw-steps{display:grid;grid-template-columns:1fr 1.6fr 1fr;list-style:none;padding:0;margin:22px 0 0;gap:8px}.cw-steps li{display:flex;gap:8px;align-items:center;font-size:12px;color:#81938f;padding-top:10px;border-top:2px solid #dfe8e5}.cw-steps li>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#edf2f0;font-size:11px;flex:none}.cw-steps li.is-active{border-color:#4e8a7c;color:#235e53;font-weight:650}.cw-steps li.is-active>span{background:#e1eee8}.cw-card{margin:0 0 14px;padding:22px;background:#fff;border:1px solid var(--cw-line);border-radius:17px;min-width:0}.cw-muted{font-size:13px;line-height:1.6;color:#65797f;margin:8px 0 14px}.cw-tote{display:flex;align-items:center;justify-content:space-between;gap:20px}.cw-tote p{font-size:12px;color:#65797f;margin:6px 0 0;max-width:430px}.cw-inline-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}.cw-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #23665e;border-radius:10px;min-height:46px;padding:10px 16px;font:650 13px/1.3 system-ui;cursor:pointer;background:#23665e;color:white;text-decoration:none}.cw-button.secondary{color:#315f59;background:white;border-color:#cbdcd7}.cw-button:disabled{opacity:.5;cursor:wait}.cw-service-note{padding:4px 4px 16px;color:#688078;font-size:12px}.cw-photo-total{font-size:24px;white-space:nowrap;letter-spacing:-.03em}.cw-photo-total span{font-size:15px;font-weight:450;color:#8d9d99}.cw-progress{display:block;width:100%;height:6px;border:0;border-radius:9px;overflow:hidden;background:#ecf1ef;margin:12px 0 22px;appearance:none}.cw-progress::-webkit-progress-bar{background:#ecf1ef}.cw-progress::-webkit-progress-value{background:#347568;border-radius:9px}.cw-progress::-moz-progress-bar{background:#347568}.cw-notice{padding:14px;background:#fff9eb;border:1px solid #eadfba;border-radius:12px;color:#7a5b20;font-size:13px;margin:12px 0}.cw-notice .cw-button{margin:8px 0 0}.cw-disclosure{border-top:1px solid #e5ece9;margin-top:16px;padding-top:6px}.cw-disclosure>summary{cursor:pointer;padding:12px 0;color:#45675f;font-size:13px;font-weight:650;min-height:44px}.cw-additional{padding:0 0 12px}.cw-workspace .field input,.cw-workspace .field select,.cw-workspace #photoStageFilter{max-width:100%;font-size:16px;min-height:44px}.cw-workspace .photo-grid{margin-top:14px}.cw-workspace .room-photo-checklist-shell{border:0!important;box-shadow:none!important;padding:0!important;margin:0;background:transparent}.cw-workspace .room-photo-checklist-title,.cw-workspace .room-batch-order-note{display:none}.cw-workspace .room-photo-checklist-card{border:1px solid #dce6e1;border-radius:12px;margin-bottom:10px;box-shadow:none;scroll-margin:90px 0 140px}.cw-workspace .room-photo-checklist-card summary{padding:14px;min-height:62px}.cw-workspace .room-photo-checklist-card summary b{font-size:15px}.cw-workspace .room-photo-checklist-card summary span{font-size:11px}.cw-workspace .room-photo-checklist-body{padding:0 14px 12px}.cw-workspace .room-photo-stage{background:#f8faf9;border:1px solid #e3ebe7;border-radius:10px;padding:14px}.cw-workspace .room-photo-stage-head b{font-size:13px}.cw-workspace .room-photo-stage-hint{font-size:12px;line-height:1.5}.cw-workspace .room-photo-shot-list{font-size:13px}.cw-workspace .room-batch-uploader{padding-top:10px}.cw-workspace .room-batch-uploader .btn{background:#23665e;color:#fff;min-height:44px}.cw-dock{position:sticky;bottom:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px max(14px,env(safe-area-inset-bottom));background:#fff;border:1px solid #cfdfd8;border-radius:15px;box-shadow:0 -5px 25px #274f4510;margin-top:18px}.cw-dock>div:first-child{min-width:0}.cw-dock strong,.cw-dock small{display:block;font-size:12px;line-height:1.5}.cw-dock small{font-size:11px;color:#70847c;margin-top:2px}.cw-dock-buttons{display:flex;gap:8px;flex-shrink:0}.cw-success{display:flex;gap:14px;align-items:center;border:1px solid #cce3d5;background:#edf7f0;border-radius:15px;padding:20px;margin-bottom:14px}.cw-success-mark{display:grid;place-items:center;flex:none;background:#276a52;color:white;border-radius:50%;width:38px;height:38px;font-size:20px}.cw-success p{font-size:12px;line-height:1.6;color:#527466;margin:5px 0 0}.cw-success h3{font-size:18px}.cw-workspace .fr-arrival{margin:0}.cw-workspace .fr-arrival h3{font-size:17px}.cw-workspace .fr-panel h3{font-size:17px}.cw-workspace .fr-help{font-size:12px}.cw-workspace .fr-panel>.fr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cw-workspace .fr-panel>.fr-actions .fr-button{font-size:13px;min-height:46px;padding:10px 12px}.cw-workspace .fr-panel>.fr-actions>*{flex:initial}.cw-dialog{box-sizing:border-box;width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #dbe6e0;border-radius:20px;background:white;color:#19383e;box-shadow:0 24px 80px #12352b40;font:15px/1.5 system-ui}.cw-dialog::backdrop{background:#122f35a0;backdrop-filter:blur(3px)}.cw-dialog h2{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.025em}.cw-close{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:50%;background:#f0f5f2;color:#486f60;font-size:24px;cursor:pointer}.cw-report-choices{display:grid;gap:10px;margin-top:20px}.cw-report-choice{position:relative;text-align:left;padding:16px 35px 16px 16px;border:1px solid #dae7df;border-radius:12px;background:#fbfdfb;color:#224c41;font:inherit;cursor:pointer}.cw-report-choice b,.cw-report-choice span{display:block}.cw-report-choice b{font-size:14px}.cw-report-choice span{font-size:12px;color:#71857b;margin-top:4px}.cw-report-choice i{position:absolute;right:15px;top:27px;font-style:normal}.cw-workspace :focus-visible,.cw-dialog :focus-visible{outline:3px solid #4c9a88;outline-offset:3px}
.cw-finish-review{max-width:510px!important;padding:24px!important}.cw-finish-review h2{font-size:24px!important;color:#193d36}.cw-finish-review #jaxCleanerFinishDescription>p{font-size:13px;line-height:1.6;color:#64776f}.cw-finish-summary{background:#f2f7f3;border:1px solid #deebe0;border-radius:12px;padding:10px 15px;margin:18px 0}.cw-finish-summary p{font-size:13px;line-height:1.5;color:#315f47;margin:8px 0!important}.cw-finish-reporting{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cw-finish-reporting button{font-size:12px!important;min-width:0!important;font-weight:600!important;min-height:44px!important;padding:10px!important}.cw-finish-review .finish-actions button{font-size:13px!important;min-height:48px!important}.cw-finish-review .finish-actions button[data-finish-yes]{background:#23665e;border-color:#23665e}
.cw-workspace .room-photo-shot-list li{display:flex;align-items:center;gap:8px;min-height:46px}.cw-workspace .room-photo-shot-list li>span:nth-child(2){flex:1;min-width:0}.cw-camera-label{position:relative;overflow:hidden;flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 10px;background:#eaf3ed;border:1px solid #d9e8dc;border-radius:8px;color:#2a624b;font-size:11px;font-weight:650;cursor:pointer}.cw-camera-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.cw-camera-label:focus-within{outline:3px solid #4c9a88;outline-offset:3px}
.cw-photo-stages{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 18px}.cw-photo-stages button{padding:12px;text-align:left;border:1px solid #dce6df;border-radius:11px;background:#f8faf9;color:#61786b;cursor:pointer;min-height:66px}.cw-photo-stages button[aria-pressed=true]{background:#edf7f1;border-color:#43836d;box-shadow:inset 0 0 0 1px #43836d;color:#255d43}.cw-photo-stages b,.cw-photo-stages span{display:block;font-size:13px}.cw-photo-stages span{font-size:11px;margin-top:4px;font-weight:450}.cw-workspace [hidden]{display:none!important}.cw-workspace .room-photo-stage-hint{margin-bottom:8px}.cw-workspace .room-photo-stage-head>div>span{display:none}.cw-workspace .room-batch-uploader .field>label{font-size:12px}
.cw-job-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;font-size:12px}.cw-job-dates span{display:block;font-size:11px;color:#73857c;margin-bottom:3px}
/* Contractor uses the same job shell, with its original secure actions. */
#root.contractor-job.cw-workspace{padding-bottom:12px}.cw-workspace.contractor-job>.card{border-color:#dbe6e4;box-shadow:none;padding:22px;border-radius:17px}.cw-workspace.contractor-job .cp-actions{position:sticky;bottom:0;border:1px solid #cfdfd8;border-radius:15px;padding:14px;background:white;box-shadow:0 -5px 25px #274f4510}.cw-workspace .cp-dock-buttons{display:flex;gap:8px}.cw-workspace .cp-dock-buttons>*{flex:1;min-width:0}.cw-workspace .cp-dock-buttons .btn{font-size:13px;background:#23665e}.cw-workspace .cp-dock-buttons .secondary{background:white}.cw-workspace #completionNote{font-size:12px;line-height:1.5}.cw-workspace [data-photo-summary]{font-size:12px;color:#356057;font-weight:650}.cw-workspace .cp-return-title{font-size:13px;color:#697e73;margin:22px 4px 10px}.cw-workspace .cp-job-info{font-size:12px}.cw-workspace .cp-job-info small{font-size:11px}.cw-workspace .cp-steps{display:none}.cw-workspace .cp-tote-meta{display:flex;justify-content:space-between;align-items:center;gap:12px}.cw-workspace .cp-tote-meta h3{margin:4px 0}.cw-workspace .cp-tote-meta .pill{font-size:10px}
@media(max-width:700px){.cw-workspace{padding-bottom:78px}.cw-workspace h2{font-size:24px}.cw-hero{padding:0 0 18px}.cw-heading{gap:10px}.cw-status{font-size:10px;max-width:100px;text-align:center}.cw-card,.cw-workspace.contractor-job>.card{padding:17px;border-radius:15px}.cw-tote{flex-direction:column;align-items:stretch;gap:14px}.cw-inline-actions>*{flex:1}.cw-dock{bottom:calc(65px + env(safe-area-inset-bottom));padding:12px;display:block;border-radius:14px}.cw-dock-buttons{margin-top:10px}.cw-dock-buttons>*{flex:1}.cw-dock small{font-size:10px}.cw-steps{gap:7px;margin-top:18px}.cw-steps li{font-size:11px;gap:6px}.cw-steps li>span{width:20px;height:20px}.cw-workspace .room-photo-stage{padding:12px}.cw-workspace .room-photo-checklist-body{padding:0 10px 10px}.cw-workspace.contractor-job .cp-actions{bottom:0;padding:12px 12px max(12px,env(safe-area-inset-bottom))}.cw-workspace .cp-dock-buttons .btn,.cw-workspace .cp-dock-buttons .cw-button{font-size:12px;padding:11px 9px}.cw-dialog{padding:20px}.cw-dialog h2{font-size:21px}.cw-workspace .fr-panel>.fr-actions .fr-button{font-size:12px}}
