.geo{--font-head:"Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;font-weight:450}body:has(.app.geo){background:var(--ink);background-image:radial-gradient(circle at 50% 0,#1b1c1e,#0c0c0d 60%);justify-content:center;min-height:100%;display:flex}.app{background:var(--paper);flex-direction:column;width:100%;max-width:440px;min-height:100vh;display:flex;position:relative;box-shadow:0 0 80px #00000080}@media (min-width:480px){.app{border-radius:22px;min-height:760px;margin:24px 0;overflow:hidden}}.app.app-compact{align-self:flex-start;min-height:0}@media (min-width:480px){.app.app-compact{align-self:flex-start;min-height:0}}.appbar{z-index:20;background:var(--ink);color:var(--paper);justify-content:space-between;align-items:center;padding:16px 18px;display:flex;position:sticky;top:0}.appbar .ew-lockup{color:var(--paper)}.appbar .back{color:var(--paper);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.9rem;font-weight:600;display:none}.appbar.has-back .back{display:inline-flex}.appbar .step{letter-spacing:.18em;text-transform:uppercase;color:var(--fog);font-size:.68rem}.appbar .close{width:30px;height:30px;color:var(--paper);border-radius:50%;flex:none;justify-content:center;align-items:center;margin:-6px;font-size:1.5rem;line-height:1;text-decoration:none;display:inline-flex}.appbar .close:hover{background:#ffffff24}.progress{background:var(--graphite);height:3px}.progress>i{background:var(--paper);height:100%;transition:width .35s;display:block}.screen{flex:1;padding:22px 18px 120px;overflow-y:auto}.view{display:none}.view.active{animation:.3s both fade;display:block}@keyframes fade{0%{transform:translateY(8px)}to{transform:none}}@media (prefers-reduced-motion:reduce){.view.active{animation:none}}h1.title{font-family:var(--font-head);letter-spacing:-.01em;margin:4px 0 6px;font-size:1.7rem;font-weight:800;line-height:1.05}p.sub{color:var(--graphite);margin:0 0 20px;font-size:.95rem;line-height:1.5}.kicker{letter-spacing:.2em;text-transform:uppercase;color:var(--steel);font-size:.7rem;font-weight:700}.svc-list{flex-direction:column;gap:10px;display:flex}.svc-opt{text-align:left;background:var(--white);border:1.5px solid var(--line-l);cursor:pointer;width:100%;font:inherit;border-radius:12px;align-items:center;gap:14px;padding:16px;transition:all .16s;display:flex}.svc-opt:hover{border-color:var(--ink);transform:translateY(-1px)}.svc-opt .ic{background:var(--ink);width:42px;height:42px;color:var(--paper);border-radius:10px;flex:none;place-items:center;display:grid}.svc-opt .ic svg{width:22px;height:22px}.svc-opt .t{font-family:var(--font-head);font-size:1.05rem;font-weight:800;display:block}.svc-opt .d{color:var(--graphite);margin-top:2px;font-size:.82rem;line-height:1.35}.svc-opt .pr{white-space:nowrap;align-self:flex-start;margin-left:auto;font-size:.92rem;font-weight:700}.svc-opt .pr small{letter-spacing:.1em;text-transform:uppercase;color:var(--steel);text-align:right;font-size:.62rem;font-weight:600;display:block}.svc-opt.urgent .ic{background:var(--alert)}.date-strip{scrollbar-width:thin;gap:8px;margin:0 -2px;padding:4px 0 12px;display:flex;overflow-x:auto}.date-sep{letter-spacing:.14em;color:var(--steel);writing-mode:vertical-rl;flex:none;align-self:stretch;align-items:center;padding:0 4px;font-size:.6rem;font-weight:800;display:flex;transform:rotate(180deg)}.date-pill{border:1.5px solid var(--line-l);background:var(--white);text-align:center;cursor:pointer;width:58px;font:inherit;border-radius:12px;flex:none;padding:10px 0;transition:all .15s}.date-pill .dow{letter-spacing:.1em;text-transform:uppercase;color:var(--steel);font-size:.66rem}.date-pill .d{font-family:var(--font-head);font-size:1.25rem;font-weight:800;line-height:1.1}.date-pill .mo{color:var(--steel);text-transform:uppercase;font-size:.62rem}.date-pill.sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}.date-pill.sel .dow,.date-pill.sel .mo{color:var(--fog)}.date-pill:disabled{opacity:.3;cursor:not-allowed}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}.slot{border:1.5px solid var(--line-l);background:var(--white);font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:10px;padding:12px 4px;font-size:.9rem;font-weight:700;transition:all .14s}.slot:hover:not(:disabled){border-color:var(--ink)}.slot.sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}.slot:disabled{color:var(--mist);background:var(--paper-2);cursor:not-allowed;text-decoration:line-through}.slot-empty{color:var(--steel);text-align:center;padding:24px 0;font-size:.9rem}.recur{border-top:1px solid var(--line-l);margin-top:22px;padding-top:18px}.recur .row{justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle{background:var(--mist);cursor:pointer;border:0;border-radius:99px;flex:none;width:46px;height:27px;transition:all .2s;position:relative}.toggle:after{content:"";background:var(--white);border-radius:50%;width:21px;height:21px;transition:all .2s;position:absolute;top:3px;left:3px}.toggle.on{background:var(--ink)}.toggle.on:after{transform:translate(19px)}.cadence{flex-wrap:wrap;gap:8px;margin-top:14px;display:none}.cadence.show{display:flex}.chip{border:1.5px solid var(--line-l);background:var(--white);font:inherit;cursor:pointer;border-radius:99px;padding:8px 14px;font-size:.82rem;font-weight:600}.chip.sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}.field{margin-bottom:14px}.field label{letter-spacing:.08em;text-transform:uppercase;color:var(--steel);margin-bottom:6px;font-size:.76rem;font-weight:700;display:block}.field input,.field textarea,.field select{border:1.5px solid var(--line-l);background:var(--white);width:100%;font:inherit;border-radius:10px;padding:13px 14px;font-size:1rem}.field input:focus,.field textarea:focus{border-color:var(--ink);outline:none}.field textarea{resize:vertical;min-height:70px}.field.err input{border-color:var(--alert)}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.zipmsg{min-height:18px;margin-top:6px;font-size:.82rem;font-weight:600}.zipmsg.ok{color:var(--ok)}.zipmsg.no{color:var(--alert)}.summary{background:var(--white);border:1.5px solid var(--line-l);border-radius:14px;padding:18px}.summary .li{border-bottom:1px solid var(--line-l);justify-content:space-between;gap:16px;padding:9px 0;font-size:.92rem;display:flex}.summary .li:last-child{border-bottom:0}.summary .li .k{color:var(--steel)}.summary .li .v{text-align:right;font-weight:700}.cta-bar{background:linear-gradient(transparent, var(--paper) 26%);padding:16px 18px 20px;position:sticky;bottom:0}.btn-block{justify-content:center;width:100%;padding:1.05em;font-size:1.02rem}.btn-block:disabled{opacity:.4;cursor:not-allowed}.linkish{color:var(--graphite);font:inherit;cursor:pointer;background:0 0;border:0;margin:14px auto 0;font-weight:600;text-decoration:underline;display:block}.done-wrap{text-align:center;padding:40px 10px}.done-mark{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 22px;display:grid}.done-mark svg{width:38px;height:38px}.appt-card{background:var(--white);border:1.5px solid var(--line-l);border-radius:14px;margin-bottom:12px;padding:16px}.appt-card .top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.appt-card .svc{font-family:var(--font-head);font-size:1.1rem;font-weight:800}.appt-card .when{color:var(--graphite);margin-top:2px;font-size:.9rem}.appt-card .acts{gap:8px;margin-top:14px;display:flex}.appt-card .acts .btn{flex:1;justify-content:center;padding:.7em;font-size:.85rem}.badge{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:99px;padding:5px 9px;font-size:.64rem;font-weight:700}.badge.requested{background:var(--warn);color:#fff}.badge.scheduled{background:var(--graphite);color:var(--paper)}.badge.assigned{background:var(--ok);color:#fff}.badge.completed{background:var(--mist);color:var(--ink)}.badge.cancelled{background:var(--alert);color:#fff}.help{color:var(--steel);text-align:center;margin-top:18px;font-size:.8rem;line-height:1.5}.help a{color:var(--ink)}
