:root{--paper:#fff;--surface:#fff;--surface-sunk:#f0f0f0;--ink:#000;--ink-soft:#474747;--muted:#6b6b6b;--line:#e0e0e0;--accent:#ed0000;--accent-hover:#c20000;--accent-wash:#ed000014;--scrim:#00000080;--glass:#ffffffe6;--shadow-sm:0 1px 2px #0000000d;--shadow-lg:0 1px 2px #0000000d, 0 12px 28px -20px #00000059;--glass-blur:24px;--glass-sat:150%;--glass-rim:linear-gradient(160deg, #fffffff5 0%, #fff6 55%, #0000000a 100%);--font-display:"Baloo 2", "Trebuchet MS", ui-rounded, system-ui, sans-serif;--font-ui:"DM Sans", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--text-display:clamp(30px, 8.5vw, 42px);--text-h1:27px;--text-h2:21px;--text-h3:17px;--text-body:15px;--text-small:13.5px;--text-label:10px;--radius-card:10px;--radius-input:8px;--chrome-bottom:calc(88px + env(safe-area-inset-bottom,0px));--chrome-bottom-cta:calc(112px + env(safe-area-inset-bottom,0px));--header-height:60px;--header-gap:16px;--bar-height:56px;--search-overlap:calc(var(--bar-height) + 32px);--page-top:calc(env(safe-area-inset-top,0px) + 16px);--ratio-cover:4 / 3;--ratio-gallery:16 / 9;--hero-height:calc(100vw * 3 / 4)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a[href^=tel\:],a[href^=tel\:] *{-webkit-touch-callout:default}html,body{overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;background-color:var(--paper);width:100%;height:100dvh;color:var(--ink-soft);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.55;overflow:hidden}body{-webkit-user-select:none;user-select:none}.select-text,.select-text *,input,textarea,select{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}picture{display:contents}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;max-width:100%}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-weight:700}.text-h1,.text-h2,.text-h3{font-family:var(--font-display);color:var(--ink);text-wrap:balance;margin:0 0 4px;font-weight:700}.text-h1{font-size:var(--text-h1);letter-spacing:-.015em;line-height:1.1}.text-h2{font-size:var(--text-h2);letter-spacing:-.01em;line-height:1.15}.text-h3{font-size:var(--text-h3);line-height:1.25}.text-p-gray{font-size:var(--text-small);color:var(--muted);margin:0;line-height:1.55}.text-label{font-size:var(--text-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-weight:700;display:block}.text-value{font-family:var(--font-display);font-size:var(--text-h1);color:var(--ink);font-variant-numeric:tabular-nums;margin:0 0 8px;font-weight:800;line-height:1.1;display:block}.text-value-unit{font-family:var(--font-ui);font-size:var(--text-small);color:var(--muted);font-weight:500}.text-fine{color:var(--muted);font-size:12px;line-height:1.5;display:block}.wordmark{aspect-ratio:2967/1638;background-color:currentColor;display:block;-webkit-mask:url(/wordmark.svg) 50%/contain no-repeat;mask:url(/wordmark.svg) 50%/contain no-repeat}.wordmark-line{aspect-ratio:4929/811;-webkit-mask-image:url(/wordmark-line.svg);mask-image:url(/wordmark-line.svg)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.num{font-variant-numeric:tabular-nums}.divider{background-color:var(--line);flex-shrink:0;width:100%;height:1px;margin:18px 0}.app-shell{background-color:var(--paper);flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}.app-main{overscroll-behavior-y:contain;flex:1;width:100%;position:relative;overflow:hidden auto}.page-content{padding:var(--page-top) 16px var(--chrome-bottom);flex-direction:column;min-height:100%;display:flex}.page-header{z-index:60;height:calc(var(--header-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;background-color:var(--paper);align-items:center;gap:4px;display:flex;position:sticky;top:0}.page-header h1{min-width:0;font-size:var(--text-h2);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.15;overflow:hidden}.page-header-action{align-items:center;gap:4px;margin-left:auto;display:flex}.page-header:after,.search-header:after{content:"";background-color:var(--line);opacity:0;height:1px;animation:linear both fade-in-on-scroll;animation-timeline:scroll();animation-range:0 12px;position:absolute;bottom:0;left:0;right:0}@keyframes fade-in-on-scroll{to{opacity:1}}.page-enter[data-nav-dir=fwd]{animation:.28s cubic-bezier(.05,.7,.1,1) page-enter-fwd}.page-enter[data-nav-dir=back]{animation:.28s cubic-bezier(.05,.7,.1,1) page-enter-back}@keyframes page-enter-fwd{0%{opacity:0;transform:translate(24px)}}@keyframes page-enter-back{0%{opacity:0;transform:translate(-24px)}}.search-header{z-index:60;height:calc(var(--header-height) + var(--header-gap) + env(safe-area-inset-top,0px));padding:calc(env(safe-area-inset-top,0px) + var(--header-gap)) 16px 0;background-color:var(--paper);align-items:center;display:flex;position:sticky;top:0}@supports not (animation-timeline:scroll()){.page-header:after,.search-header:after{opacity:1}}.page-content.has-header,.work-page.has-header{padding-top:var(--header-gap)}.page-content.has-header{min-height:calc(100% - var(--header-height) - env(safe-area-inset-top,0px))}.page-content.has-search-header{padding-top:var(--header-gap);min-height:calc(100% - var(--header-height) - var(--header-gap) - env(safe-area-inset-top,0px))}.page-content-flush{padding-top:16px}.page-content-cta{padding-bottom:var(--chrome-bottom-cta)}.enquiries-contact{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px 16px;display:flex}.enquiries-contact .btn{width:100%}.enquiries-contact p{margin:0}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.offline-banner{width:100%;padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;background-color:var(--ink);color:var(--paper);letter-spacing:.01em;text-align:center;flex-shrink:0;font-size:12px;font-weight:500}.orientation-fallback{display:none}@media (orientation:landscape) and (height<=520px){.orientation-fallback{z-index:9999;text-align:center;background-color:var(--ink);color:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;position:fixed;inset:0;display:flex!important}.orientation-fallback h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-h1);margin:0}.orientation-fallback p{color:var(--paper);opacity:.7;max-width:32ch;margin:0}.app-shell{display:none!important}}.bottom-nav-container{bottom:calc(16px + env(safe-area-inset-bottom,0px));height:var(--bar-height);z-index:50;gap:8px;display:flex;position:absolute;left:32px;right:32px}.bottom-nav{background:linear-gradient(var(--glass), var(--glass)) padding-box, var(--glass-rim) border-box;min-width:0;height:100%;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));box-shadow:0 18px 40px -16px #00000038, 0 6px 14px -8px #00000029, 0 24px 48px -12px var(--glass), inset 0 2px 4px #ffffff80;border:1px solid #0000;border-radius:9999px;flex:1;display:flex;position:relative}.bottom-nav:before,.bottom-nav:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.bottom-nav:before{background:radial-gradient(60% 60% at 28% 22%,#ffffff73,#fff0 70%)}.bottom-nav:after{mix-blend-mode:soft-light;background:radial-gradient(50% 50% at 30% 24%,#ffffff59,#fff0 70%);transform:translate(2px,1px)}.bottom-nav>:not(.nav-pill){z-index:1;position:relative}.nav-item{min-width:0;min-height:48px;color:var(--ink-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;text-decoration:none;transition:color .18s,transform .18s;display:flex}.nav-item-pill{--nav-zoom:1;justify-content:center;align-items:center;gap:calc(3px / var(--nav-zoom));width:calc(100% - 8px);height:calc(100% - 8px);transform:scale(var(--nav-zoom));border-radius:9999px;flex-direction:column;transition:transform .18s;display:flex;position:relative}.nav-item.active .nav-item-pill{--nav-zoom:1.06}.nav-item-pill>*{z-index:1;position:relative}.nav-pill{width:calc(100% / var(--tabs) - 8px);background:linear-gradient(var(--glass), var(--glass)) padding-box, var(--glass-rim) border-box;transform:translateX(calc(var(--active) * (100% + 8px)));pointer-events:none;border:1px solid #0000;border-radius:9999px;transition:transform .34s cubic-bezier(.05,.7,.1,1),opacity .18s;position:absolute;top:4px;bottom:4px;left:4px;overflow:hidden;box-shadow:0 2px 6px #00000029,0 1px 2px #0000001a,inset 0 1px #fffc}.nav-pill[data-on=false]{opacity:0}.nav-pill:before,.nav-pill:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.nav-pill:before{background:radial-gradient(60% 60% at 28% 22%,#ffffff73,#fff0 70%)}.nav-pill:after{mix-blend-mode:multiply;background:radial-gradient(45% 45% at 30% 24%,#0000000d,#0000 70%);transform:translate(1px,1px)}.nav-item-label{max-width:100%;font-size:var(--text-label);letter-spacing:.005em;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.nav-item.active,.nav-item.active .icon-svg{color:var(--accent)}.nav-item:active{transform:scale(.94)}.icon-svg{width:21px;height:21px;color:inherit;display:block}.icon-svg-small{width:15px;height:15px;display:block}.master-hero{width:100%;height:var(--hero-height);margin-top:env(safe-area-inset-top,0px);background-color:var(--accent);position:relative;overflow:hidden}.master-hero-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;width:100%;height:100%;display:flex;overflow-x:auto}.master-hero-slide{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;height:100%;position:relative}.master-hero-image{object-fit:cover;width:100%;height:100%;display:block}.master-hero-hotspot{z-index:1;border-radius:var(--radius-input);background-color:#0000;transition:background-color .18s;position:absolute}.master-hero-hotspot:active{background-color:#ffffff2e}.master-hero-scrim{pointer-events:none;background:linear-gradient(#0000 22%,#0000005c 50%,#00000094 66%,#000000c7 100%);position:absolute;inset:0}.master-hero-dots{z-index:2;right:20px;bottom:calc(var(--search-overlap) + 14px);pointer-events:none;align-items:center;gap:4px;display:flex;position:absolute}.master-hero-dot{background-color:#ffffff8c;border-radius:9999px;width:6px;height:4px;transition:width .3s cubic-bezier(.25,1,.5,1)}.master-hero-dot.is-active{background-color:#fff;width:16px}.master-hero-content-layer{z-index:3;padding:20px 20px calc(var(--search-overlap) + 14px);pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.master-hero-title{margin:0}.master-hero-wordmark{width:auto;height:clamp(20px,6.4vw,30px);color:var(--paper);filter:drop-shadow(0 1px 2px #00000073)drop-shadow(0 4px 16px #00000073)}.master-hero-copy{flex-direction:column;gap:6px;display:flex}.master-hero-headline{letter-spacing:-.005em;color:var(--paper);text-wrap:balance;margin:0;font-size:clamp(15px,4.1vw,19px);font-weight:600;line-height:1.3}.master-hero-note{font-size:var(--text-small);color:var(--paper);margin:0;font-weight:500;line-height:1.4}.sticky-search-wrapper{top:calc(env(safe-area-inset-top,0px) + var(--header-gap));z-index:100;margin-top:calc(-1 * var(--search-overlap));height:var(--bar-height);pointer-events:none;margin-bottom:32px;padding:0 32px;position:sticky}.sticky-search-wrapper:before{content:"";top:calc(-1 * env(safe-area-inset-top,0px));height:env(safe-area-inset-top,0px);z-index:-1;background-color:var(--paper);position:absolute;left:0;right:0}.search-inner-wrapper{width:100%;min-height:var(--header-height);pointer-events:auto;color:var(--muted);border:1px solid var(--line);background-color:var(--paper);border-radius:9999px;grid-template-columns:44px 1fr 44px;align-items:center;padding:0 8px;display:grid;position:relative}.search-inner-wrapper>.icon-svg{justify-self:center}.search-inner-wrapper input{min-width:0;height:100%;color:inherit;text-align:center;background:0 0;border:none;outline:none;font-family:inherit;font-size:16px}.search-inner-wrapper input:not(:placeholder-shown){text-align:left}.search-inner-wrapper input::placeholder{color:currentColor}.search-filter{width:44px;height:44px;color:inherit;cursor:pointer;background-color:#0000;border:none;border-radius:50%;justify-content:center;justify-self:center;align-items:center;padding:0;transition:background-color .18s,color .18s;display:flex;position:relative}.search-filter:active{background-color:#0000000f}.search-filter[data-on=true]{color:var(--accent)}.search-filter[data-on=true]:after{content:"";background-color:var(--accent);width:7px;height:7px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;position:absolute;top:8px;right:8px}.sticky-search-wrapper .search-inner-wrapper{min-height:var(--bar-height);height:100%;color:var(--ink-soft);background:linear-gradient(135deg, #ffffffe8 0%, #ffffffde 60%, #ffffffe6 100%) padding-box, var(--glass-rim) border-box;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid #0000;transition:transform .26s cubic-bezier(.4,0,.2,1),opacity .2s;overflow:hidden;box-shadow:0 22px 46px -18px #0000003d,0 2px 8px #00000012,inset 0 1.5px #fffffff2,inset 0 -12px 18px -14px #0000001a}.sticky-search-wrapper .search-inner-wrapper:before,.sticky-search-wrapper .search-inner-wrapper:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0}.sticky-search-wrapper .search-inner-wrapper:before{background:radial-gradient(60% 60% at 26% 20%,#fff6,#fff0 70%)}.sticky-search-wrapper .search-inner-wrapper:after{mix-blend-mode:soft-light;background:radial-gradient(50% 50% at 28% 22%,#ffffff4d,#fff0 70%);transform:translate(2px,1px)}.sticky-search-wrapper .search-inner-wrapper>*{z-index:1;position:relative}.sticky-search-wrapper .search-filter[data-on=true]:after{box-shadow:0 0 0 2px var(--glass)}.sticky-search-wrapper[data-bar=tucked] .search-inner-wrapper{transform:translateY(calc(-1 * ( var(--bar-height) + var(--header-gap) + env(safe-area-inset-top,0px) )));opacity:0;pointer-events:none}.sticky-categories-wrapper{scroll-snap-type:x proximity;overscroll-behavior-x:contain;gap:8px;margin:12px -16px 4px;padding:4px 16px 12px;display:flex;overflow-x:auto}.category-pill{scroll-snap-align:start;cursor:pointer;min-width:78px;min-height:68px;color:var(--ink-soft);background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;flex:none;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-family:inherit;transition:border-color .18s,color .18s;display:flex}.category-pill[aria-pressed=true]{background-color:var(--ink);border-color:var(--ink);color:var(--paper)}.category-pill[aria-pressed=true]:active{background-color:var(--ink-soft)}.category-pill:focus-visible{outline-color:var(--ink)}.category-pill-icon{width:22px;height:22px;display:block}.category-pill-icon svg{width:100%;height:100%}.category-pill-text{letter-spacing:.04em;text-align:center;font-size:10px;font-weight:600;line-height:1.1}.card-list{flex-direction:column;gap:14px;width:100%;display:flex}.card{background-color:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-sm);text-align:left;color:inherit;text-decoration:none;overflow:hidden}.vendor-card-wrapper{content-visibility:auto;contain-intrinsic-size:auto calc((100vw - 32px) * 9 / 16 + 100px);flex-direction:column;padding:0;display:flex}.vendor-carousel-container{aspect-ratio:var(--ratio-gallery);position:relative;overflow:hidden}.vendor-carousel{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;width:100%;height:100%;display:flex;overflow-x:auto}.vendor-carousel-image{object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;background-color:var(--surface-sunk);flex:0 0 100%;width:100%;height:100%}.vendor-carousel-empty{background-color:var(--surface-sunk);width:100%;height:100%;color:var(--muted);justify-content:center;align-items:center;display:flex}.vendor-category-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);-webkit-backdrop-filter:blur(4px);background-color:#ffffffeb;border-radius:9999px;padding:5px 10px;font-size:9.5px;font-weight:600;position:absolute;bottom:12px;left:12px}.vendor-pagination-container{z-index:2;align-items:center;gap:4px;display:flex;position:absolute;bottom:14px;right:12px}.vendor-pagination-dot{background-color:#ffffff8c;border-radius:9999px;width:6px;height:4px;transition:width .3s cubic-bezier(.25,1,.5,1)}.vendor-pagination-dot.is-active{background-color:#fff;width:16px}.vendor-info-link{color:inherit;flex-direction:column;gap:8px;padding:14px 16px 16px;text-decoration:none;display:flex}.vendor-info-head{justify-content:space-between;gap:12px;display:flex}.vendor-info-name{min-width:0}.vendor-business-name{-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:19px;display:-webkit-box;overflow:hidden}.vendor-location{letter-spacing:.02em;width:fit-content;color:var(--muted);align-items:center;gap:4px;font-size:11px;font-weight:500;display:inline-flex}.vendor-details{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.5}.vendor-price-container{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:19px;font-weight:600;display:flex}.vendor-price-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:600}.vendor-detail{padding-top:env(safe-area-inset-top,0px);background-color:var(--paper);position:relative}.vendor-cover-header{z-index:1;height:calc(var(--header-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0 64px;margin-bottom:calc(-1 * (var(--header-height) + env(safe-area-inset-top,0px)));align-items:center;display:flex;position:sticky;top:0;overflow:hidden}.vendor-cover-strip{z-index:-2;object-fit:cover;object-position:50% 100%;width:100%;height:100%;position:absolute;inset:0}.vendor-cover-scrim{z-index:-1;background:linear-gradient(90deg,#000000ad,#0000008c);position:absolute;inset:0}.vendor-cover-header h1{font-size:var(--text-h3);color:var(--paper);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.vendor-detail-cover{z-index:2;width:100%;height:auto;aspect-ratio:var(--ratio-cover);object-fit:cover;display:block;position:relative}.vendor-detail-cover-empty{background-color:var(--surface-sunk);color:var(--muted);justify-content:center;align-items:center;display:flex}.vendor-detail-gallery{width:100%;aspect-ratio:var(--ratio-gallery);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:var(--radius-card);display:flex;overflow-x:auto}.vendor-detail-gallery img{object-fit:cover;scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;width:100%;height:100%}.vendor-detail .detail-back{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:70;position:fixed;left:12px}.detail-back{width:40px;height:40px;color:var(--ink);-webkit-backdrop-filter:blur(6px);box-shadow:var(--shadow-sm);background-color:#ffffffeb;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-cta{z-index:60;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--paper) 62%, #fff0);position:fixed;bottom:0;left:0;right:0}.btn{letter-spacing:.02em;cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;padding:12px 22px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:flex}.btn-primary{background-color:var(--accent);color:var(--paper);transition:background-color .18s}.btn-primary:hover{background-color:var(--accent-hover)}.btn-secondary{background-color:var(--surface);color:var(--ink);border:1px solid var(--line);transition:border-color .18s}.btn-secondary:hover{border-color:var(--ink)}.btn-danger{background-color:var(--surface);color:var(--accent);border:1px solid var(--accent);transition:background-color .18s}.btn-danger:hover{background-color:var(--accent-wash)}.btn-compact{width:auto;min-height:42px;padding:8px 16px;font-size:13px}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;pointer-events:none}.btn-link{cursor:pointer;width:fit-content;min-height:44px;color:var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:10px 4px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:underline}.btn-inline{letter-spacing:.02em;width:fit-content;min-height:44px;color:var(--accent);align-items:center;gap:6px;padding:0 2px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.detail-cta .btn{width:100%}.input-field{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);width:100%;min-height:50px;color:var(--ink);outline:none;padding:13px 16px;font-family:inherit;font-size:16px;transition:border-color .18s}.input-field::placeholder{color:var(--muted)}.input-field:focus{border-color:var(--accent)}.phone-field{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);align-items:center;gap:8px;width:100%;min-height:50px;padding:0 15px;transition:border-color .18s;display:flex}.phone-field:focus-within{border-color:var(--accent)}.phone-field-prefix{color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;font-size:16px}.phone-field input,.work-form .phone-field input{min-width:0;min-height:0;color:var(--ink);letter-spacing:.06em;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:16px}.phone-field input::placeholder{color:var(--muted)}.form-error{text-align:center;color:var(--accent);margin:0;font-size:13px;font-weight:500}.login-panel{width:100%;max-width:400px;padding:32px 24px calc(32px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:12px;margin:0 auto;display:flex}.login-panel .input-field{text-align:center;letter-spacing:.06em}.login-panel .text-h1{text-align:center}.login-panel .text-p-gray{text-align:center;margin-bottom:8px}.login-page{padding-top:calc(env(safe-area-inset-top,0px) + 48px)}.boot-screen{background-color:var(--paper);justify-content:center;align-items:center;height:100dvh;display:flex}.boot-icon{border:1px solid var(--line);border-radius:20px;width:84px;height:84px;animation:1.8s ease-in-out infinite boot-breathe}@keyframes boot-breathe{0%,to{opacity:1}50%{opacity:.55}}.login-icon{border:1px solid var(--line);border-radius:20px;width:84px;height:84px;margin:0 auto 4px}.sheet-overlay{z-index:1000;background-color:var(--scrim);-webkit-backdrop-filter:blur(4px);flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{background-color:var(--paper);padding-bottom:env(safe-area-inset-bottom,0px);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -8px 40px -12px #0006}.filter-sheet{flex-direction:column;max-height:78dvh;display:flex}.filter-sheet-head{align-items:center;gap:4px;padding:18px 16px 10px;display:flex}.filter-sheet-head h2{font-size:var(--text-h3);margin:0;font-weight:700}.filter-sheet-body{overscroll-behavior-y:contain;flex:1;min-height:0;padding:0 16px 4px;overflow-y:auto}.filter-group+.filter-group{margin-top:18px}.filter-group>.text-label{margin-bottom:8px;display:block}.filter-chips{flex-wrap:wrap;gap:6px;display:flex}.filter-chips .tab{flex:none}.filter-sheet-actions{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px 16px;display:flex}.filter-sheet-actions .btn{flex:1}.status-pill{letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:5px 10px;font-size:9.5px;font-weight:700}.status-new{background-color:var(--accent-wash);color:var(--accent)}.status-contacted{background-color:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.status-confirmed{background-color:var(--ink);color:var(--paper)}.status-closed{background-color:var(--surface-sunk);color:var(--muted)}.lead-row{color:inherit;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.lead-row-main{flex:1;min-width:0}.lead-skeleton{padding:16px}.lead-list{margin-top:16px}.work-page{padding:var(--page-top) 16px var(--chrome-bottom);flex-direction:column;gap:12px;display:flex}.work-header{flex-direction:column;gap:8px;display:flex;position:relative}.work-header h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-h1);letter-spacing:-.015em;color:var(--ink);margin:0;line-height:1.1}.work-header p{margin:0}.icon-back{width:40px;height:40px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;margin-left:-8px;display:flex}.tab-row{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;gap:6px;display:flex;overflow-x:auto}.tab-row::-webkit-scrollbar{display:none}.tab{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);min-width:76px;min-height:42px;color:var(--muted);cursor:pointer;flex:1 0 auto;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:border-color .18s,color .18s}.tab-active{border-color:var(--accent);color:var(--accent);background-color:var(--accent-wash)}.tab:disabled{opacity:.45;pointer-events:none}.work-search{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);min-height:50px;color:var(--muted);align-items:center;gap:10px;padding:0 14px;display:flex}.work-search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:16px}.work-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.work-row,.work-card{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);color:inherit;align-items:center;gap:12px;padding:13px 15px;text-decoration:none;display:flex}.work-card{flex-direction:column;align-items:stretch;gap:9px}.work-fact{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:700;line-height:1.25}.work-card .text-value{margin:0}.work-cover{width:100%;height:auto;aspect-ratio:var(--ratio-cover);object-fit:cover;border-radius:var(--radius-card)}.work-gallery{grid-template-columns:1fr 1fr;gap:8px;display:grid}.work-gallery img{width:100%;height:auto;aspect-ratio:var(--ratio-gallery);object-fit:cover;border-radius:var(--radius-input)}.work-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.work-row-main strong{color:var(--ink);font-size:15px;font-weight:600}.work-row-sub{color:var(--muted);font-size:12.5px}.work-row-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;display:flex}.work-row-time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.work-form{flex-direction:column;gap:13px;display:flex}.work-form label{flex-direction:column;gap:4px;display:flex}.work-form input,.work-form select,.work-form textarea{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);width:100%;min-height:50px;color:var(--ink);outline:none;padding:13px 15px;font-family:inherit;font-size:16px;transition:border-color .18s}.work-form textarea{resize:vertical;min-height:100px;line-height:1.5}.work-form input:focus,.work-form select:focus,.work-form textarea:focus{border-color:var(--accent)}.call-stack{flex-direction:column;gap:8px;display:flex}.call-row{border-radius:var(--radius-input);background-color:var(--accent);min-height:58px;color:var(--paper);border:1px solid #0000;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.call-row-quiet{background-color:var(--surface);color:var(--ink);border-color:var(--line)}.call-row-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.call-row-text strong{font-size:14px;font-weight:600}.call-row-text span{opacity:.85;font-variant-numeric:tabular-nums;font-size:13px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.stat-tile{border:1px solid var(--line);border-radius:var(--radius-input);background-color:var(--surface);flex-direction:column;gap:2px;padding:15px;display:flex}.stat-tile strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.1}.stat-table{border-collapse:collapse;width:100%;font-size:13.5px}.stat-table td{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:9px 0}.stat-table tr:last-child td{border-bottom:0}.stat-table td.num{text-align:right;color:var(--ink);font-weight:600}.state-panel{text-align:center;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:340px;margin:0 auto;padding:56px 8px;display:flex}.state-panel-inline{padding:32px 8px}.state-mark{border:1px solid var(--line);width:52px;height:52px;color:var(--ink-soft);border-radius:9999px;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.state-panel-inline .state-mark{width:44px;height:44px}.state-mark svg{width:22px;height:22px}.state-mark-alert{background-color:var(--accent-wash);color:var(--accent);border-color:#0000}.state-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-h2);letter-spacing:-.01em;color:var(--ink);text-wrap:balance;margin:0;line-height:1.15}.state-body{font-size:var(--text-small);color:var(--muted);text-wrap:pretty;margin:0;line-height:1.6}.state-actions{flex-direction:column;align-items:center;gap:2px;width:100%;margin-top:10px;display:flex}.state-actions .btn{max-width:240px}.state-detail{color:var(--muted);word-break:break-word;opacity:.85;margin:6px 0 0;font-size:11.5px;line-height:1.5}.skeleton{background-color:var(--surface-sunk);border-radius:var(--radius-input);position:relative;overflow:hidden}.skeleton:after{content:"";background-color:var(--paper);opacity:0;animation:1.4s ease-in-out infinite skeleton-pulse;position:absolute;inset:0}@keyframes skeleton-pulse{0%,to{opacity:0}50%{opacity:.45}}.skeleton-text{height:12px;margin:6px 0}.skeleton-title{width:60%;height:18px;margin:8px 0}.skeleton-media{aspect-ratio:var(--ratio-gallery);border-radius:0}.skeleton-cover{aspect-ratio:var(--ratio-cover);border-radius:0}.settings-list{border-top:1px solid var(--line);flex-direction:column;width:100%;display:flex}.settings-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;display:flex}.settings-row-value{color:var(--muted);font-size:13px;font-weight:500}.settings-row-danger{color:var(--accent)}.install-bar{border:1px solid var(--line);border-radius:var(--radius-card);background-color:var(--surface);width:100%;box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.install-bar-text{flex:1;min-width:0}.install-bar-title{color:var(--ink);margin:0;font-size:13.5px;font-weight:600}.install-bar .btn{width:auto;min-height:40px;padding:8px 18px;font-size:13px}.toast{border-radius:var(--radius-input)!important;background-color:var(--ink)!important;color:var(--paper)!important;font-family:var(--font-ui)!important;font-size:var(--text-small)!important;box-shadow:var(--shadow-lg)!important;max-width:340px!important;padding:12px 16px!important;font-weight:500!important;line-height:1.45!important}.toast-error{background-color:var(--accent)!important}.work-fact,.text-value,.vendor-price-container,.vendor-business-name,.vendor-details,.settings-row-value,.state-detail,.work-row-sub,.phone-field input{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}@media (hover:hover){.card:hover,.work-row:hover,.work-card:hover,.lead-row:hover,.settings-row:hover,.install-bar:hover{border-color:var(--muted)}.tab:hover:not(.tab-active){color:var(--ink);border-color:var(--muted)}.btn-link:hover{color:var(--ink)}.settings-row:hover{background-color:var(--surface-sunk)}}.card,.work-row,.work-card,.lead-row,.settings-row,.tab,.category-pill{transition:border-color .18s,color .18s,background-color .18s}a.work-row:active,a.card:active,a.lead-row:active,button.settings-row:active,a.settings-row:active,.tab:active,.category-pill:active{background-color:var(--surface-sunk)}.flex-center{justify-content:center;align-items:center;display:flex}.tap-target,.nav-item,.btn{min-height:48px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.sticky-search-wrapper[data-bar=tucked] .search-inner-wrapper{opacity:1;pointer-events:auto;transform:none}}@media (display-mode:standalone){:root{--standalone:1}}
