.connected-stage{gap:65px}.connected-photo{object-fit:contain;border-radius:8px;max-width:100%;max-height:300px;margin-top:10px}.connected-stage .phone input[type=checkbox]{width:20px;min-height:20px;margin-right:8px}.connected-stage .sync{justify-content:space-between}.connected-stage .controls a{margin-top:20px;text-decoration:underline;display:block}.connected-stage .phone .action:disabled{opacity:.45;cursor:not-allowed}.connected-stage .phone{height:850px}@media (max-height:850px) and (min-width:761px){.connected-stage .phone{height:calc(100vh - 40px);min-height:600px}}@media (max-width:760px){.connected-stage .controls h1{display:none}.connected-stage .controls .info{margin:5px 0}}.stage.hosted-app{background:#f7f9f8;min-height:100dvh;padding:0;display:block}.hosted-app .controls,.hosted-app .device-top,.hosted-app .home-indicator{display:none}.connected-stage.hosted-app .phone{width:100%;max-width:none;height:100dvh;min-height:0;box-shadow:none;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);border:0;border-radius:0;margin:0;position:relative;top:0}.hosted-app .app-header{flex-shrink:0}.hosted-app .phone-content{overscroll-behavior:contain;min-height:0}.hosted-app .bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.hosted-app .phone:not(:has(.bottom-nav)){padding-bottom:env(safe-area-inset-bottom)}.connected-stage .app-brand .company-logo{object-fit:contain;width:158px;height:auto;max-height:48px;display:block}.finish-confirmation{color:#292524;background:#fff;border:0;border-radius:16px;width:min(440px,100vw - 32px);margin:auto;padding:24px;position:fixed;inset:0;box-shadow:0 20px 80px #0004}.finish-confirmation::backdrop{background:#0008}.finish-confirmation h2{margin:0 0 12px;font-size:22px;line-height:1.3}.finish-confirmation p{line-height:1.5}.finish-confirmation-actions{gap:12px;margin-top:20px;display:flex}.finish-confirmation-actions .action{flex:1;margin:0}.connected-stage .material-card.material-pending{background:#edf7ef;border:1px solid #a8cdb0}.connected-stage .material-pending .badge{color:#205332;background:#d6ecdc}.connected-stage .material-card.material-purchased{background:#fff0ef;border:1px solid #e3b1ad}.connected-stage .material-purchased .badge{color:#792d2a;background:#f8dcd9}.connected-stage .crew-card.crew-active{color:#205332;background:#edf7ef;border:1px solid #a8cdb0}.connected-stage .crew-card.crew-finished{color:#792d2a;background:#fff0ef;border:1px solid #e3b1ad}.crew-name-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.crew-name-row h3{overflow-wrap:anywhere;min-width:0;margin:0}.crew-name-row>span{white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:500}.crew-review{color:#792d2a;cursor:pointer;background:#fff9f8;border:1px solid #c89793;border-radius:7px;flex-shrink:0;padding:5px 10px;font-size:12px;font-weight:600}.crew-review:focus-visible{outline-offset:2px;outline:2px solid #792d2a}.review-clock{border:1px solid #c7d7ce;border-radius:10px;min-width:0;margin:12px 0;padding:10px}.review-clock legend{padding:0 5px;font-weight:650}.review-clock-time{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.review-clock label{min-width:0!important;margin:5px 0!important;font-size:12px!important}.review-clock input{box-sizing:border-box;width:100%;min-width:0!important}.review-period{gap:3px;margin-bottom:5px;display:flex}.review-period button{color:#294f40;background:#fff;border:1px solid #afc3b8;border-radius:6px;min-height:42px;padding:10px 6px;font-size:12px}.review-period button[aria-pressed=true]{color:#fff;background:#294f40}.review-period button:focus-visible{outline-offset:2px;outline:2px solid #548967}.review-clock select{box-sizing:border-box;width:100%;min-width:0!important;padding-left:6px!important;padding-right:16px!important;font-size:12px!important}.crew-history-nav{gap:8px;margin:12px 0;display:flex}.crew-history-nav button,.crew-week-days button{color:#294f40;cursor:pointer;background:#fff;border:1px solid #b8cbbf;border-radius:8px;padding:9px}.crew-history-nav button[aria-pressed=true],.crew-week-days button[aria-pressed=true]{color:#fff;background:#294f40}.crew-week-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px;display:grid}.crew-week-days button{min-width:0;padding:8px 3px;font-size:11px}.crew-week-days span,.crew-week-days strong{display:block}.crew-week-days button:disabled{opacity:.5;cursor:default}.crew-history-nav{align-items:stretch;gap:5px}.crew-history-nav>button,.crew-week-menu>summary{white-space:nowrap;min-height:42px;padding:9px 7px;font-size:12px}.crew-week-menu{flex:1;min-width:0;position:relative}.crew-week-menu>summary{box-sizing:border-box;color:#294f40;cursor:pointer;background:#fff;border:1px solid #b8cbbf;border-radius:8px;justify-content:center;align-items:center;gap:4px;height:100%;list-style:none;display:flex}.crew-week-menu>summary::-webkit-details-marker{display:none}.crew-week-menu>summary.selected{color:#fff;background:#294f40}.crew-week-menu>summary:focus-visible{outline-offset:2px;outline:2px solid #548967}.crew-week-options{z-index:20;background:#fff;border:1px solid #b8cbbf;border-radius:9px;width:min(290px,100vw - 48px);max-height:240px;padding:5px;position:absolute;top:calc(100% + 5px);right:0;overflow-y:auto;box-shadow:0 5px 18px #0002}.crew-week-options button{text-align:left;width:100%;min-height:40px;margin:2px 0;font-size:12px;display:block}.crew-visit{border-top:1px solid #294f4026;margin-top:12px;padding-top:10px}.crew-project-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.crew-project-row strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.crew-project-row>span{white-space:nowrap;flex-shrink:0;font-size:12px}.crew-visit .crew-trade{margin:7px 0;font-size:13px}.crew-visit .crew-visit-end{margin:9px 0 0;font-size:12px}.location-pin{vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;line-height:1;display:inline-flex}.location-captured{color:#167538}.location-failed{color:#b42318}.location-unrecorded{color:#757575}.location-pin:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid}.clock-location-status{align-items:center;gap:6px;display:flex;margin:8px 0!important;font-size:12px!important}.clock-location-status .location-pin{margin-left:0}.time-card .clock-location-status .location-pin{background:#fff;border-radius:50%;padding:3px;display:inline-flex}.crew-project-row{align-items:flex-start}.crew-visit-times{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;font-size:12px;display:flex}.crew-visit-times>span{white-space:nowrap}button.location-pin{cursor:pointer;min-width:22px;min-height:24px;font:inherit;vertical-align:middle;background:0 0;border:0;padding:3px}.location-popup{box-sizing:border-box;color:#243c31;white-space:normal;text-align:left;background:#fff;border:1px solid #bbcec2;border-radius:14px;width:min(340px,100vw - 32px);max-height:85dvh;padding:16px;box-shadow:0 12px 48px #0004}.location-popup::backdrop{background:#10281f66}.location-popup .location-popup-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.location-popup h3{margin:0;font-size:17px}.location-popup .location-popup-heading button{color:#294f40;cursor:pointer;background:#eef3f0;border:0;border-radius:8px;min-width:36px;min-height:36px;font-size:24px}.location-popup .location-popup-body p{color:#334d40;overflow-wrap:anywhere;margin:12px 0;font-size:13px;line-height:1.5}.location-popup .location-popup-body .hint{color:#637568;font-size:12px}.location-map-links{gap:8px;margin:14px 0;display:grid}.location-map-links a{color:#165c3c;border:1px solid #b8cbbf;border-radius:8px;padding:11px;font-size:13px;line-height:1.4;text-decoration:none;display:block}.location-embedded-map iframe{border-radius:10px;width:100%;min-width:200px;min-height:200px;display:block}.location-map-controls{gap:8px;margin:10px 0;display:flex}.location-map-controls button{color:#333;background:#fff;border:1px solid #ccc;border-radius:8px;padding:7px;font-size:12px}.location-map-controls button[aria-pressed=true]{background:#eef6ef;border-color:#45955c}.location-popup{max-height:min(720px,85dvh);margin:auto;position:fixed;inset:0;overflow-y:auto}.location-popup .location-popup-heading h3{font-size:15px;line-height:1.3}.location-popup .location-popup-body p{margin:8px 0;font-size:12px;line-height:1.4}.location-popup .location-popup-body .location-capture-summary{color:#627369;font-size:11px}.location-popup .location-popup-body .hint{margin:5px 0;font-size:10px}.location-demo-label{color:#745000;background:#fff0cc;border-radius:5px;margin-top:5px;padding:3px 7px;font-size:11px;font-weight:600;display:inline-block}.location-open-map{color:#165c3c;padding:9px 0;font-size:12px;text-decoration:none;display:block}.location-more{border-top:1px solid #e1e8e3;padding-top:8px;font-size:12px}.location-more summary{cursor:pointer;color:#536b5f}.location-more a{color:#165c3c;font-size:12px}.location-map-controls{margin:6px 0}.location-map-controls button{padding:5px 7px;font-size:11px}.clock-google-map{background:#eff3f0;border-radius:10px;width:100%;height:230px;overflow:hidden}.clock-map-marker{color:#fff;white-space:nowrap;border:2px solid #fff;border-radius:12px 12px 12px 0;padding:5px 8px;font:600 11px system-ui;box-shadow:0 2px 5px #0005}.clock-google-map{height:clamp(250px,43dvh,320px)}.clock-map-marker{border-width:1.5px;border-radius:8px 8px 8px 0;padding:3px 5px;font:600 9px system-ui;box-shadow:0 1px 3px #0004}.material-photo{border:1px solid #d7e1da;border-radius:10px;margin:10px 0;padding:10px}.material-photo-preview{object-fit:contain;border-radius:8px;max-width:160px;max-height:140px;margin:8px 0;display:block}.material-photo input[type=file]{max-width:100%;font-size:11px}.material-photo{border:0;margin:8px 0;padding:0}.material-photo summary{color:#557060;cursor:pointer;font-size:12px}.material-photo .quarter-selectors{margin-top:8px}.material-photo-preview{max-width:100px;max-height:85px}.material-photo>button{padding:3px 6px;font-size:11px}.unsaved-dialog{color:#243b30;white-space:normal;background:#fff;border:1px solid #cedbd2;border-radius:14px;width:min(330px,100vw - 24px);max-height:80dvh;margin:auto;padding:18px;position:fixed;inset:0;overflow:auto}.unsaved-dialog::backdrop{background:#142d2266}.unsaved-dialog h3{margin:0 0 8px;font-size:17px}.unsaved-dialog p{color:#425b4a!important;font-size:13px!important;line-height:1.5!important}.unsaved-dialog button{color:#1b5337;background:#f2f7f3;border:1px solid #ccd9d0;border-radius:9px;width:100%;margin-top:9px;padding:10px;font-size:13px;display:block}.header-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.header-sync{color:#986323;align-items:center;gap:5px;font-size:10px;line-height:1.2;display:flex}.header-sync>span{max-width:78px}.header-actions>.text-button{white-space:nowrap}.header-sync .text-button{padding:3px;font-size:10px}.app-header .app-brand{flex-shrink:1;min-width:0}@media (max-width:370px){.header-actions{gap:5px}.header-sync{gap:3px;font-size:9px}}.clock-map-marker{text-overflow:ellipsis;max-width:140px;overflow:hidden}.clock-capture-status{color:#174c36;background:#f0faf5;border:1px solid #b8d9cc;border-radius:10px;align-items:center;gap:10px;margin:8px 0 12px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.clock-capture-spinner{border:2px solid #b8d9cc;border-top-color:#176846;border-radius:50%;flex:0 0 18px;width:18px;height:18px;animation:.9s linear infinite clock-capture-spin;display:inline-block}@keyframes clock-capture-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.clock-capture-spinner{animation:none}}.material-note{margin:10px 0}.material-note summary{cursor:pointer;color:#555;font-size:13px}.material-note label{margin-top:8px}.material-extras{min-width:0;margin:10px 0}.material-extras-actions{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.material-extras-actions button{color:#557060;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;line-height:1.4}.material-extras-actions button:focus-visible{outline-offset:3px;outline:2px solid #557060}.material-extras .material-photo,.material-extras .material-note{margin:0}.material-extras summary[hidden]{display:none}.material-extras .material-photo-panel[open],.material-extras .material-note[open]{margin-top:8px}.material-extras input[type=file]{box-sizing:border-box;width:100%;min-width:0}.material-extras .quarter-selectors>*{min-width:0}.photo-picker-actions{flex-wrap:nowrap;gap:8px;display:flex}.photo-picker-actions>button{white-space:nowrap;color:#375846;cursor:pointer;background:#fff;border:1px solid #d7e1da;border-radius:7px;flex:1;min-width:0;padding:9px 6px;font-size:12px}.photo-picker-actions>button:disabled{opacity:.55;cursor:default}.photo-picker-actions input[hidden]{display:none}.material-product-name{overflow-wrap:anywhere;white-space:pre-wrap}.material-product-link{overflow-wrap:anywhere;color:#216442;white-space:normal;max-width:100%;margin:4px 0;font-size:13px;font-weight:600;text-decoration:underline;display:block}.material-product-link:first-child{margin-left:0}.material-product-hint{color:#657168;margin:5px 0;font-size:11px;display:block}.task-report-overlay{z-index:120;background:#172d4666;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.task-report-overlay>section{background:#fff;border-radius:16px;width:420px;max-height:90vh;padding:24px;overflow:auto}.worker-tasks details{margin:12px 0}.worker-tasks summary{color:#4f7185;cursor:pointer}.worker-tasks .hint{font-size:12px}.practice-switch{z-index:30;color:#213b4c;background:#fff;border:1px solid #d9e2e8;border-radius:12px;flex-direction:column;gap:12px;width:225px;padding:18px;display:flex;position:fixed;top:24px;left:20px}.practice-switch select{border:1px solid #ccd9e2;border-radius:7px;width:100%;padding:8px}.practice-switch small{color:#657886}@media (max-width:980px){.practice-switch{width:min(100%,420px);margin:0 auto 16px;position:relative;top:auto;left:auto}.preview-shell:has(.practice-switch){flex-direction:column;align-items:center}}.controls .practice-switch{box-sizing:border-box;width:100%;margin:0 0 22px;position:static}.worker-tasks .card{overflow-wrap:anywhere}.task-report-overlay>section{box-sizing:border-box;max-width:100%}
