/* A focused customer experience, with provider tools kept on their own page. */
[hidden]{display:none!important}
html{min-width:320px;scroll-behavior:smooth}
body.simple-mode,body.provider-mode{min-width:320px;background:#f7f8f2;color:#183f36;-webkit-font-smoothing:antialiased}
body.simple-mode{min-height:100svh}
body.simple-mode .site-header,body.provider-mode .site-header{width:100%;height:84px;min-height:84px;max-width:1120px;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:0 36px}
body.simple-mode .brand,body.provider-mode .brand{font-size:28px;letter-spacing:-1.4px;gap:3px}
body.simple-mode .brand svg,body.provider-mode .brand svg{width:33px;height:33px;margin-right:4px}
.header-actions{display:flex;align-items:center;gap:12px}
.header-join{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;background:transparent;font-size:14px;font-weight:600;border-radius:9px;white-space:nowrap;color:#45604f}
.header-join:hover{text-decoration:underline;text-underline-offset:4px}
.header-menu{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:11px;border:1px solid #e1e6da;border-radius:50%;background:transparent;flex:none}
.header-menu svg{width:20px;height:20px;display:block}
body.simple-mode .demo-bar,body.provider-mode .demo-bar{min-height:30px;padding:6px 20px;font-size:10px;letter-spacing:.7px;text-align:center;justify-content:center;align-items:center}
body.simple-mode .demo-detail,body.provider-mode .demo-detail{font-size:11px;line-height:1.45;max-width:none}
body.simple-mode main{width:100%;max-width:520px;margin:0 auto;padding:16px 28px 20px}
.simple-shell{text-align:center;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}
.simple-welcome{width:100%;margin-bottom:20px}
.simple-welcome .eyebrow{display:block;margin:0 0 9px;font-size:11px;line-height:1.4;letter-spacing:1.6px;color:#617153;font-weight:700}
.simple-welcome h1,.simple-status h1{font-size:36px;line-height:1.17;letter-spacing:-1.55px;font-weight:600;margin:0 auto 12px;max-width:440px;text-wrap:balance}
.simple-welcome p,.simple-status>p{font-size:15px;line-height:1.65;color:#667563;max-width:360px;margin:0 auto}
.location-pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;min-height:34px;padding:6px 12px;border:1px solid #e0e7d7;border-radius:50px;background:#f0f4e8;font-size:14px;line-height:1.4;color:#566b48;margin:0 0 15px;overflow-wrap:anywhere}
.location-pill svg{width:15px;height:15px;flex:none}
.location-pill>span{min-width:0}
.location-pill small{display:block;font-size:14px;line-height:1.4;font-weight:400;color:#617153}
.call-orbit{height:180px;width:180px;position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;border-radius:50%;background:#edf2e5;border:1px solid #e4ead9;isolation:isolate;flex:none;color:#1d4b3d}
.call-orbit:before{content:"";position:absolute;inset:21px;background:#e0edc5;border:1px solid #d6e6b9;border-radius:50%;z-index:-1}
.call-orbit:after{content:"";position:absolute;inset:43px;border-radius:50%;background:#d8edac;z-index:-1}
.call-orbit>svg{height:57px;width:57px;stroke-width:1.5}
.call-orbit>.avatar{width:78px;height:78px;font-size:23px;border:5px solid #fff;box-shadow:0 5px 18px #28452d0c}
.call-orbit.waiting:before{animation:nearby-pulse 2.4s ease-in-out infinite}
.call-orbit.waiting:after{animation:nearby-pulse 2.4s ease-in-out 1.2s infinite}
@keyframes nearby-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.09);opacity:.55}}
.nearest-summary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0 0 15px;text-align:left}
.nearest-summary .avatar{width:43px;height:43px;font-size:13px;border-width:2px}
.nearest-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:0 1 auto;max-width:100%;overflow-wrap:break-word}
.nearest-info strong{font-size:15px;font-weight:700;line-height:1.4}
.nearest-info small{font-size:14px;line-height:1.4;color:#607153}
.nearest-distance{font-size:14px;line-height:1.5;white-space:nowrap;color:#607153;flex:none;margin-left:1px}
.rate-line{display:flex;align-items:baseline;justify-content:center;gap:5px;width:100%;margin:0 0 19px;flex-wrap:wrap}
.rate-line strong{font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.2}
.rate-line>small{font-size:15px;line-height:1.5;color:#64755d}
.rate-line .rate-description{flex-basis:100%;margin-top:3px;font-size:14px;line-height:1.5;color:#617153}
.call-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#183f36;color:#fff;width:100%;min-height:66px;border:1px solid #183f36;border-radius:18px;padding:18px 22px;font-size:18px;line-height:1.4;font-weight:600;box-shadow:0 6px 13px #183f3610}
.call-button:hover{background:#204c40;filter:none}
.call-button:active{transform:translateY(1px)}
.call-button:disabled{background:#6a7a6c;border-color:#6a7a6c;opacity:1;color:#fff}
.call-button>svg{height:22px;width:22px;flex:none}
.call-button .icon-circle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#d9ef96;color:#183f36;font-size:20px}
.call-caption{font-size:14px;line-height:1.6;color:#607153;margin:0 0 16px;max-width:390px;text-wrap:pretty}
.simple-notice{font-size:14px;line-height:1.6;color:#64735c;max-width:400px;margin:20px 0 0;text-wrap:pretty}
.simple-error{width:100%;border:1px solid #ead2c6;border-radius:12px;background:#fbefe8;color:#934738;text-align:left;padding:13px 15px;font-size:14px;line-height:1.6;margin:0 0 16px}
.empty-nearby{width:100%;padding:22px;border-radius:18px;background:#eef2e7;border:1px solid #dfe6d5;margin:0 0 18px;text-align:center}
.empty-nearby h2{font-size:21px;line-height:1.35;margin:0 0 10px;letter-spacing:-.5px}
.empty-nearby p{font-size:14px;color:#66765d;line-height:1.7;margin:0}
.empty-nearby .secondary{margin:18px auto 0;min-height:44px;font-size:14px}
.simple-status{width:100%;text-align:center}
.simple-status>.eyebrow{display:block;text-align:center;font-size:11px;line-height:1.4;margin-bottom:12px}
.simple-status>.status-chip{font-size:13px;margin:0 0 17px;padding:8px 13px;min-height:32px}
.simple-status .call-orbit{margin-top:20px}
.simple-status .nearest-summary{margin-top:0;margin-bottom:17px}
.simple-status .status-detail,.status-detail{font-size:15px;line-height:1.65;max-width:370px;margin:0 auto 19px;color:#64765d;text-wrap:pretty}
.simple-status .status-detail{margin-bottom:0}
.simple-status+.call-orbit{margin-top:20px}
.simple-status .status-detail strong{color:#244c3b;font-weight:600}
.meeting-code{display:inline-block;padding:5px 9px 5px 12px;letter-spacing:4px;background:#e7efd9;border-radius:8px;font-size:20px;line-height:1.4;vertical-align:middle;white-space:nowrap}
.simple-status .pin{display:inline-block;font-size:26px;letter-spacing:7px;padding:9px 12px 9px 19px;background:#eaf1dd;border-radius:11px;margin:12px 0 0}
.status-price{font-size:14px;line-height:1.6;color:#617153;margin:0 0 20px}
.status-price strong{font-size:19px;line-height:1.4;color:#254c39;font-weight:600;letter-spacing:-.4px}
.status-price small{display:block;font-size:14px;line-height:1.6;color:#617153;margin-top:3px}
.simple-cancel{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:none;border-radius:10px;padding:10px 15px;font-size:14px;color:#617153;margin:12px 0 0;text-underline-offset:4px}
.simple-cancel:hover{text-decoration:underline}
.simple-status .rating{justify-content:center;margin:16px 0}
.simple-status .rating button{min-height:44px;min-width:44px;font-size:33px;line-height:1.2;border-radius:8px}
.simple-status .feedback{font-size:15px;line-height:1.6;padding:12px;min-height:88px}
.simple-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 22px 16px;max-width:560px;margin:0 auto;text-align:center;color:#617153;font-size:12px;line-height:1.5}
.simple-footer button,.simple-footer a{min-height:44px;padding:10px;background:none;border-radius:9px;font-size:13px;color:#637557;display:inline-flex;align-items:center;justify-content:center}
.simple-footer .footer-divider{height:3px;width:3px;border-radius:50%;background:#a5b198}
.simple-drawer{width:100%;display:grid;gap:10px;padding:0;border:0;border-radius:0;background:transparent}
.simple-drawer h2{font-size:24px;line-height:1.35;margin:0 34px 5px 0;padding:0}
.simple-drawer p{font-size:14px;line-height:1.65;color:#617153;margin:0 0 8px}
.simple-drawer>button:not(.modal-close),.simple-drawer>a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:13px 15px;border-radius:12px;background:#eef2e7;color:#234b3b;font-size:15px;text-align:left;width:100%}
.simple-drawer>.danger-button{background:#f8efeb;color:#934738;border:1px solid #ead2c6}
.simple-drawer>.primary{background:#183f36;color:#fff;border:1px solid #183f36}
.simple-drawer .modal-close{height:44px;width:44px;top:16px;right:16px;background:transparent;box-shadow:none}
body.provider-mode main{width:100%;max-width:1120px;padding:26px 36px 36px}
body.provider-mode .role-page{max-width:1048px}
body.provider-mode .role-heading h1{font-size:34px;line-height:1.2;letter-spacing:-1.4px}
body.provider-mode .role-heading p{font-size:14px;line-height:1.65;max-width:650px}
body.provider-mode .primary,body.provider-mode .secondary,body.provider-mode .danger-button{min-height:46px;font-size:14px}
body.provider-mode .availability,body.provider-mode .provider-card>p,body.provider-mode .quote-note,body.provider-mode .job-details,body.provider-mode .job-note,body.provider-mode .small,body.provider-mode .status-help{font-size:14px;line-height:1.65}
body.provider-mode .field-label{font-size:12px;line-height:1.5;letter-spacing:.5px}
body.provider-mode .toggle{width:44px;height:28px;padding:4px;flex:none}
body.provider-mode .toggle:after{width:20px;height:20px}
body.provider-mode .toggle.on:after{transform:translateX(16px)}
body.provider-mode .tag{font-size:12px;padding:5px 8px}
body.provider-mode .status-chip{font-size:12px}
body.provider-mode .request-route,body.provider-mode .request-route small{font-size:14px}
body.provider-mode .rate-input-wrap span{font-size:14px}
.join-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;width:100%;max-width:520px;margin:0 auto}
body.provider-mode .simple-welcome{text-align:center;margin-bottom:24px}
.join-layout h2{font-size:24px;line-height:1.3;margin:0 0 14px}
.join-layout p,.join-layout li{font-size:15px;line-height:1.75;color:#5d7052}
.join-layout ul,.join-layout ol{padding-left:21px;margin:18px 0}
.join-layout li{padding-left:3px;margin-bottom:10px}
.join-form{display:grid;gap:9px;min-width:0;text-align:left}
.join-form label{display:grid;gap:8px;font-size:14px;font-weight:600;line-height:1.5;color:#2b503d}
.join-form input,.join-form select,.join-form textarea{width:100%;min-height:48px;border:1px solid #dbe3d2;border-radius:10px;padding:12px 13px;background:#fcfdf9;font-size:16px;color:#183f36;line-height:1.4;margin-bottom:9px}
.join-form textarea{resize:vertical;min-height:88px}
.join-form input::placeholder,.join-form textarea::placeholder{color:#8b9580}
.join-form small{font-size:14px;line-height:1.6;color:#617153;font-weight:400}
.join-form .consent,.join-form label.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:400;line-height:1.65;letter-spacing:0;text-transform:none;margin:0}
.join-form .consent input{width:18px;height:18px;min-height:18px;margin-top:3px;flex:none;padding:0}
.join-form .primary,.join-form .call-button{min-height:52px;font-size:16px}
.application-status{max-width:570px;text-align:center;margin:15px auto 0;padding:32px 25px}
.application-status h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2;margin-bottom:15px}
.application-status p{font-size:15px;line-height:1.75;color:#5d7052;margin-bottom:20px}
.application-status .secondary{margin:18px auto 0}
.join-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 0;margin:0 0 18px;background:none;font-size:14px;color:#617556;border-radius:7px}
.join-back:hover{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1500px){body.simple-mode main{padding-top:32px}}
@media(max-width:620px){
 body.simple-mode .site-header,body.provider-mode .site-header{height:76px;min-height:76px;padding:0 20px;gap:10px}
 body.simple-mode .brand,body.provider-mode .brand{font-size:27px}
 body.simple-mode .brand svg,body.provider-mode .brand svg{width:30px;height:30px}
 .header-actions{gap:6px}.header-join{font-size:13px;padding:10px 6px}
 body.simple-mode .demo-bar,body.provider-mode .demo-bar{padding:6px 16px;align-items:center}
 body.simple-mode .demo-dot,body.provider-mode .demo-dot{margin-top:0}
 body.simple-mode main{max-width:480px;padding:13px 24px 20px}
 .simple-welcome{margin-bottom:17px}.simple-welcome h1,.simple-status h1{font-size:34px;line-height:1.18;letter-spacing:-1.4px}
 .simple-welcome p,.simple-status>p{font-size:15px;max-width:310px}
 .simple-welcome .eyebrow{font-size:11px}
 .call-orbit{width:170px;height:170px;margin-bottom:17px}
 .nearest-summary{margin-bottom:13px}.rate-line{margin-bottom:18px}
 .call-button{min-height:64px;padding:17px 18px;font-size:18px}
 .simple-notice{margin-top:17px}.simple-footer{padding-top:8px;padding-bottom:17px;gap:4px}
 body.provider-mode main{padding:17px 20px 28px}
 body.provider-mode .role-heading h1{font-size:31px}
 .join-layout{grid-template-columns:1fr;gap:16px}.join-layout .card{padding:23px 20px}
 .application-status{padding:25px 20px}.application-status h1{font-size:31px}
 .simple-drawer{padding:0}
}
@media(max-width:360px){body.simple-mode main{padding-left:19px;padding-right:19px}.header-join{font-size:12px}.header-actions{gap:2px}body.simple-mode .site-header,body.provider-mode .site-header{padding-left:17px;padding-right:17px}.simple-welcome h1,.simple-status h1{font-size:32px}.call-orbit{width:156px;height:156px}.call-orbit:before{inset:18px}.call-orbit:after{inset:37px}.call-orbit>svg{width:51px;height:51px}}
@media(max-height:780px) and (min-width:621px){body.simple-mode .site-header{height:72px;min-height:72px}body.simple-mode main{padding-top:10px}.simple-welcome{margin-bottom:13px}.simple-welcome h1{font-size:34px}.call-orbit{height:154px;width:154px;margin-bottom:15px}.call-orbit:before{inset:17px}.call-orbit:after{inset:35px}.nearest-summary{margin-bottom:12px}.rate-line{margin-bottom:14px}.simple-notice{margin-top:14px}.simple-footer{padding-top:3px;padding-bottom:10px}}
@media(max-width:620px) and (max-height:800px){
 body.simple-mode .site-header{height:64px;min-height:64px}
 body.simple-mode main{padding-top:6px;padding-bottom:16px}
 .simple-welcome{margin-bottom:11px}.simple-welcome .eyebrow{margin-bottom:5px}
 .simple-welcome h1,.simple-status h1{font-size:32px;margin-bottom:8px}
 .simple-welcome p,.simple-status>p{font-size:14px;line-height:1.5}
 .location-pill{min-height:32px;padding:5px 10px;margin-bottom:12px}
 .call-orbit{width:104px;height:104px;margin-bottom:12px}
 .call-orbit:before{inset:12px}.call-orbit:after{inset:25px}.call-orbit>svg{width:37px;height:37px}
 .nearest-summary{margin-bottom:11px}.rate-line{margin-bottom:10px}.rate-line strong{font-size:28px}
 .call-caption{margin-bottom:12px}.simple-notice{margin-top:14px}
 .simple-status+.call-orbit{margin-top:16px}.status-price{margin-bottom:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.call-orbit.waiting:before,.call-orbit.waiting:after{animation:none}.call-button:active{transform:none}}

