:root{--bb-navy:#0f1729;--bb-charcoal:#242930;--bb-burnt-orange:#cc5400;--bb-yellow-fill:#fc0;--bb-on-yellow:#1c1c1e}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bb-background:#0f1729;--bb-card-background:#242930;--bb-sunken:#0b1120;--bb-steel:#4a535e;--bb-input-background:#313842;--bb-primary-text:#fff;--bb-secondary-text:#fffc;--bb-divider:#ffffff1f;--bb-border:#ffffff52;--bb-accent:#cc5400;--bb-on-accent:#fff;--bb-safety-yellow:#fc0;--bb-ice-blue:#8cc7f2;--bb-alert-red:#e5484d;--bb-success:#34c759;--bb-chart-1:#3987e5;--bb-chart-2:#d95926;--bb-chart-3:#199e70;--bb-chart-4:#c98500;--bb-chart-5:#d55181;--bb-chart-6:#008300;--bb-chart-7:#9085e9;--bb-chart-8:#e66767}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bb-background:#d5dce6;--bb-card-background:#fff;--bb-sunken:#c6cfdb;--bb-steel:#b8c2cf;--bb-input-background:#fff;--bb-primary-text:#0f1729;--bb-secondary-text:#353f4e;--bb-divider:#0f172924;--bb-border:#0f172957;--bb-accent:#b84a00;--bb-on-accent:#fff;--bb-safety-yellow:#8a5a00;--bb-ice-blue:#0a5a9c;--bb-alert-red:#c5221f;--bb-success:#1b7a31;--bb-chart-1:#2a78d6;--bb-chart-2:#eb6834;--bb-chart-3:#1baf7a;--bb-chart-4:#eda100;--bb-chart-5:#e87ba4;--bb-chart-6:#008300;--bb-chart-7:#4a3aa7;--bb-chart-8:#e34948}:root{--bb-touch:48px;--bb-sheet-width:480px}@media (width>=700px){:root{--bb-sheet-width:760px}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bb-background);color:var(--bb-primary-text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font-family:inherit}.bb-valve-button{width:100%;color:var(--bb-on-accent);background:var(--bb-accent);cursor:pointer;border:2px solid #00000040;border-radius:12px;padding:14px 24px;font-size:17px;font-weight:700;display:block;box-shadow:0 3px 4px #00000059}.bb-valve-button:active{transform:scale(.98);box-shadow:0 1px 1px #0000001a}.bb-title-stripe{background:linear-gradient(90deg, var(--bb-accent), var(--bb-yellow-fill));border-radius:2px;height:4px;margin:0 0 12px}.bb-ghost-button{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;font-weight:600}.bb-ghost-button:active{opacity:.6}:root{--bb-touch-compact:40px}.job-detail__quick-button,.confirm-dialog__buttons button,.date-picker__trigger,.tab-bar__item{min-height:var(--bb-touch)}.job-detail__na-pill,.property-detail__na-pill,.job-card__edit,.property-card__edit,.property-card__action,.tp-device-summary__edit,.owner-group__add,.dashboard__schedule,.add-job__change,.photo-gallery__add,.site-surveys__link,.job-detail__sibling-button,.property-detail__report-link,.app-shell__banner-action{min-height:var(--bb-touch-compact)}.date-picker__nav,.job-calendar__nav,.month-calendar__nav{min-width:var(--bb-touch);min-height:var(--bb-touch)}.search-bar__clear{min-width:36px;min-height:36px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=radio]:focus-visible{outline:3px solid var(--bb-accent);outline-offset:2px}.bb-tabs{background:var(--bb-steel);border-radius:10px;gap:2px;margin:8px 0;display:flex;overflow:hidden}.bb-tab{min-width:0;min-height:var(--bb-touch);background:var(--bb-steel);color:var(--bb-secondary-text);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:4px 6px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;display:inline-flex}.bb-tab--active{background:var(--bb-accent);color:var(--bb-on-accent)}.bb-tab--good{background:var(--bb-success);color:#fff}.bb-tab--bad,.bb-tab--fire{background:var(--bb-alert-red);color:#fff}.bb-tab--domestic{color:#fff;background:#0a6fd6}.bb-tab:disabled{opacity:.4;cursor:not-allowed}.bb-tabs--disabled{opacity:.4}.bb-tabs--dense .bb-tab{padding:4px 2px;font-size:13px}.bb-tabs--wrap{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));display:grid}.bb-tabs--wrap-sm{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));display:grid}.bb-icon-button{background:var(--bb-card-background);width:44px;height:44px;color:var(--bb-primary-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:18px;font-weight:700;display:flex}.bb-pill-button,.job-card__edit,.property-card__edit,.add-job__change,.tp-device-summary__edit{border:1px solid var(--bb-border);color:var(--bb-ice-blue);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:4px 14px;font-family:inherit;font-size:13px;font-weight:700}.bb-add-pill,.property-card__action,.photo-gallery__add{border:1px dashed color-mix(in srgb, var(--bb-safety-yellow) 55%, transparent);color:var(--bb-safety-yellow);cursor:pointer;background:0 0;border-radius:999px;padding:4px 14px;font-family:inherit;font-size:13px;font-weight:600}.bb-link-button,.reports__report-button,.all-surveys__action,.property-detail__edit-link,.property-detail__report-link{color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:14px;font-weight:700}.job-detail__header,.property-detail__header,.device-history-detail__header{padding-top:4px;padding-bottom:4px}.job-detail__done,.property-detail__done,.device-history-detail__done,.weather-banner-sheet__done{min-height:var(--bb-touch);justify-content:flex-end;align-items:center;display:inline-flex}.bb-pill-button,.bb-add-pill,.bb-link-button,.property-detail__edit-link,.reports__report-button,.all-surveys__action,.tp-bar__link,.property-detail__start{min-height:var(--bb-touch-compact);min-width:var(--bb-touch-compact)}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,select[class],textarea{font-size:16px}}:root{--bb-font-display:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.page-header__title,.dashboard__stat-value,.dashboard__group-title,.tp-submitted__title,.add-site__customer-name,.property-detail__summary-name{font-family:var(--bb-font-display);letter-spacing:.005em;font-weight:700}.page-header__title{font-size:40px;line-height:1.05}.dashboard__stat-value{font-size:40px}.dashboard__group-title,.add-site__customer-name,.property-detail__summary-name{font-size:26px}.tp-submitted__title{font-size:32px}.bb-chip,.dashboard__overdue-date,.dashboard__due-soon-badge,.dashboard__scheduled{border:1px solid color-mix(in srgb, var(--chip,var(--bb-steel)) 60%, transparent);background:color-mix(in srgb, var(--chip,var(--bb-steel)) 20%, transparent);color:var(--bb-primary-text);text-align:left;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:13px;font-weight:700;line-height:1.3;display:inline-flex}.bb-chip--good,.dashboard__scheduled{--chip:var(--bb-success)}.bb-chip--bad,.dashboard__overdue-date{--chip:var(--bb-alert-red)}.bb-chip--warn{--chip:var(--bb-safety-yellow)}.bb-chip--info,.dashboard__due-soon-badge{--chip:var(--bb-ice-blue)}.bb-chip--neutral{--chip:var(--bb-steel)}[data-tone]{border-left:5px solid var(--tone,transparent)}[data-tone=good]{--tone:var(--bb-success)}[data-tone=bad]{--tone:var(--bb-alert-red)}[data-tone=warn]{--tone:var(--bb-safety-yellow)}[data-tone=todo]{--tone:var(--bb-accent)}[data-tone=neutral]{--tone:var(--bb-border)}@keyframes bb-sheet-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes bb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bb-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.job-detail,.property-detail,.report-preview,.device-history-detail{animation:.26s cubic-bezier(.2,.8,.2,1) both bb-sheet-in}.job-detail-overlay,.property-detail-overlay,.report-preview-overlay{animation:.2s ease-out both bb-fade-in}.job-card,.customers__list>.owner-group,.reports__grid>.reports__row,.dashboard__scroll>*{animation:.32s ease-out both bb-fade-up}.customers__list>.owner-group:nth-child(2){animation-delay:40ms}.customers__list>.owner-group:nth-child(3){animation-delay:80ms}.customers__list>.owner-group:nth-child(4){animation-delay:.12s}.customers__list>.owner-group:nth-child(5){animation-delay:.16s}.customers__list>.owner-group:nth-child(6){animation-delay:.2s}.customers__list>.owner-group:nth-child(7){animation-delay:.24s}.customers__list>.owner-group:nth-child(8){animation-delay:.28s}.customers__list>.owner-group:nth-child(9){animation-delay:.32s}.reports__grid>.reports__row:nth-child(2){animation-delay:40ms}.reports__grid>.reports__row:nth-child(3){animation-delay:80ms}.reports__grid>.reports__row:nth-child(4){animation-delay:.12s}.reports__grid>.reports__row:nth-child(5){animation-delay:.16s}.reports__grid>.reports__row:nth-child(6){animation-delay:.2s}.reports__grid>.reports__row:nth-child(7){animation-delay:.24s}.reports__grid>.reports__row:nth-child(8){animation-delay:.28s}.reports__grid>.reports__row:nth-child(9){animation-delay:.32s}.dashboard__scroll>:nth-child(2){animation-delay:35ms}.dashboard__scroll>:nth-child(3){animation-delay:70ms}.dashboard__scroll>:nth-child(4){animation-delay:.105s}.dashboard__scroll>:nth-child(5){animation-delay:.14s}.dashboard__scroll>:nth-child(6){animation-delay:.175s}.dashboard__scroll>:nth-child(7){animation-delay:.21s}.dashboard__scroll>:nth-child(8){animation-delay:.245s}.dashboard__scroll>:nth-child(9){animation-delay:.28s}.dashboard__scroll>:nth-child(10){animation-delay:.315s}.dashboard__scroll>:nth-child(11){animation-delay:.35s}.bb-valve-button,.bb-pill-button,.bb-add-pill,.bb-icon-button,.tp-bar__btn,.tp-bar__submit,.job-card,.property-card,.reports__row-main{transition:transform 80ms}.bb-valve-button:active,.bb-pill-button:active,.bb-add-pill:active,.bb-icon-button:active,.tp-bar__btn:active,.tp-bar__submit:active{transform:scale(.96)}.job-card:active,.property-card:active{transform:scale(.99)}@media (prefers-reduced-motion:reduce){.job-detail,.property-detail,.report-preview,.device-history-detail,.job-detail-overlay,.property-detail-overlay,.report-preview-overlay,.job-card,.customers__list>.owner-group,.reports__grid>.reports__row,.dashboard__scroll>*{animation:none}.bb-valve-button:active,.bb-pill-button:active,.bb-add-pill:active,.bb-icon-button:active,.tp-bar__btn:active,.tp-bar__submit:active,.job-card:active,.property-card:active{transform:none}}.app-shell{background:var(--bb-background);flex-direction:column;height:100dvh;display:flex}.app-shell__content{flex:1;min-height:0}.app-shell--message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.app-shell--message p{color:var(--bb-secondary-text);margin:0}.app-shell__banner{background:var(--bb-alert-red);color:#fff;text-align:center;padding:8px 12px;font-size:13px;font-weight:600}.app-shell__banner--pending{background:var(--bb-yellow-fill);color:var(--bb-on-yellow);justify-content:center;align-items:center;gap:10px;display:flex}.app-shell__banner-action{color:var(--bb-on-yellow);cursor:pointer;background:#00000026;border:none;border-radius:10px;padding:4px 10px;font-family:inherit;font-size:13px;font-weight:700}.serial-input__error{color:var(--bb-alert-red);margin:4px 0 0;font-size:13px;font-weight:600}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tab-bar{background:var(--bb-card-background);border-top:1px solid var(--bb-accent);padding-bottom:env(safe-area-inset-bottom);flex-shrink:0;display:flex}.tab-bar__item{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:12px;display:flex}.tab-bar__item--active{color:var(--bb-accent);outline:1.5px solid var(--bb-border);outline-offset:-4px;border-radius:10px}.status-dot{color:#fff;box-sizing:border-box;border:1.5px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:800;line-height:1;display:inline-flex;position:relative}.status-dot--notTested{border-color:var(--bb-secondary-text)}.status-dot--pass{background:#34c759;border-color:#34c759}.status-dot--fail{background:#ff3b30;border-color:#ff3b30}.status-dot--repaired{background:#0a84ff;border-color:#0a84ff}.status-dot--pending{color:#1c1c1e;background:#ffd60a;border-color:#ffd60a}.status-dot--couldntTest{background:#ff9500;border-color:#ff9500}.status-dot--declined{background:#af52de;border-color:#af52de}.status-dot--removed{background:#3a3a3c;border-color:#8e8e93}.status-dot--removed:after{content:"";background:#d1d1d6;height:1.5px;position:absolute;top:50%;left:1px;right:1px;transform:rotate(-45deg)}.status-legend{color:var(--bb-secondary-text);flex-wrap:wrap;gap:4px 14px;margin:2px 0 4px;font-size:13px;display:flex}.status-legend__item{align-items:center;gap:5px;display:inline-flex}.status-guide{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.status-guide__row{align-items:flex-start;gap:12px;display:flex}.status-guide__row .status-dot{margin-top:2px}.status-guide__label{font-size:15px;font-weight:600}.status-guide__description{color:var(--bb-secondary-text);font-size:13px;line-height:1.35}.confirm-dialog.status-guide__dialog{max-width:400px;max-height:85vh;overflow-y:auto}.status-guide__dialog h3{margin-bottom:14px}.job-card{background:var(--bb-card-background);cursor:pointer;border-radius:12px;margin:0 16px 12px;display:flex;overflow:hidden}.job-card__body{flex:1;min-width:0;padding:14px}.job-card__top-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.job-card__time{color:var(--bb-accent);font-size:13px;font-weight:600}.job-card__urgent-badge{color:#fff;background:var(--bb-accent);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.job-card__spacer{flex:1}.job-card__flags{color:var(--bb-secondary-text);align-items:center;gap:8px;display:flex}.job-card__customer{color:var(--bb-primary-text);margin-bottom:2px;font-size:17px;font-weight:600}.job-card__address{color:var(--bb-secondary-text);margin-bottom:2px;font-size:14px}.job-card__serial{color:var(--bb-secondary-text);font-size:14px}.job-card__note{color:var(--bb-secondary-text);align-items:flex-start;gap:6px;margin-top:6px;font-size:13px;display:flex}.job-card__note-icon{color:var(--bb-secondary-text);flex-shrink:0;margin-top:1px}.job-card__note-icon--flag{color:var(--bb-safety-yellow)}.job-card__devices{border-top:1px solid var(--bb-divider);margin-top:8px;padding-top:6px}.job-card__devices-title{text-transform:uppercase;letter-spacing:.04em;color:var(--bb-secondary-text);margin-bottom:2px;font-size:13px;font-weight:700}.job-card__device{width:100%;color:var(--bb-primary-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:6px 0;font-family:inherit;font-size:14px;display:flex}.job-card__device-text{flex-direction:column;gap:2px;min-width:0;display:flex}.job-card__device-serial{white-space:nowrap;font-weight:600}.job-card__device-summary{color:var(--bb-secondary-text);font-size:13px}.job-card__serial--with-dot{align-items:center;gap:8px;display:flex}.job-card--featured{box-shadow:0 0 0 2px color-mix(in srgb, var(--bb-accent) 60%, transparent)}.job-card--featured .job-card__customer{font-size:21px}.job-card__next-tag{background:var(--bb-accent);color:var(--bb-on-accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:800}.job-card__actions{align-items:center;gap:10px;margin-top:12px;display:flex}.job-card__start{min-height:var(--bb-touch);flex:1;padding-block:10px}.job-card__directions{min-height:var(--bb-touch);border:1.5px solid var(--bb-border);color:var(--bb-primary-text);border-radius:12px;justify-content:center;align-items:center;padding:0 16px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.job-card__directions:active{opacity:.6}.job-card__top-row{flex-wrap:wrap}.job-card__status{padding:1px 9px;font-size:12px}.job-card:focus-visible{outline:3px solid var(--bb-accent);outline-offset:2px}.search-bar{background:var(--bb-input-background);border:1.5px solid var(--bb-border);width:100%;min-height:46px;color:var(--bb-primary-text);border-radius:12px;align-items:center;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.search-bar:focus-within{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 35%, transparent)}.search-bar__icon{color:var(--bb-safety-yellow);flex-shrink:0;padding-left:13px;display:inline-flex}.search-bar__input{min-width:0;color:var(--bb-primary-text);background:0 0;border:none;outline:none;flex:1;padding:11px 12px;font-family:inherit;font-size:16px}.search-bar__input::placeholder{color:var(--bb-secondary-text)}.search-bar__clear{background:var(--bb-border);color:var(--bb-primary-text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:22px;height:22px;margin-right:12px;padding:0 0 2px;font-size:16px;line-height:1}.search-bar__input:focus-visible{outline:none}.day-dots{align-items:center;gap:3px;height:8px;display:flex}.day-dots__dot{background:var(--bb-border);border-radius:50%;width:7px;height:7px}.day-dots__dot--good{background:var(--bb-success)}.day-dots__dot--bad{background:var(--bb-alert-red)}.day-dots__dot--warn{background:var(--bb-safety-yellow)}.day-dots__dot--todo{background:var(--bb-accent)}.day-dots__more{font-size:11px;font-weight:800;line-height:7px}.month-calendar__day--selected .day-dots__dot,.job-calendar__day--selected .day-dots__dot{box-shadow:0 0 0 1.5px var(--bb-on-accent)}.job-calendar{flex-direction:column;flex:1;min-height:0;display:flex}.job-calendar__header{color:var(--bb-secondary-text);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.job-calendar__nav{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;padding:4px}.job-calendar__range{color:var(--bb-primary-text);font-size:14px;font-weight:600}.job-calendar__days{gap:6px;padding:0 16px 12px;display:flex}.job-calendar__day{color:var(--bb-primary-text);cursor:pointer;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:8px 0;display:flex}.job-calendar__day--today{background:var(--bb-card-background)}.job-calendar__day--selected{background:var(--bb-accent)}.job-calendar__weekday{color:var(--bb-secondary-text);font-size:12px}.job-calendar__daynum{font-size:14px;font-weight:600}.job-calendar__list{flex:1;padding-top:4px;overflow-y:auto}.job-calendar__empty{text-align:center;color:var(--bb-secondary-text);margin-top:24px;font-size:14px}.job-calendar__nav{min-width:var(--bb-touch);min-height:var(--bb-touch);justify-content:center;align-items:center;display:inline-flex}.job-calendar__title{align-items:center;gap:10px;display:inline-flex}.job-calendar__range{font-family:var(--bb-font-display);font-size:24px;font-weight:700}.job-calendar__today{min-height:var(--bb-touch-compact)}.job-calendar__day{touch-action:pan-y;justify-content:center;min-height:72px}.job-calendar__weekday{font-size:12px;font-weight:600}.job-calendar__daynum{font-size:18px}.job-calendar__day--today{box-shadow:inset 0 0 0 2px var(--bb-accent)}.job-calendar__day--selected,.job-calendar__day--selected .job-calendar__weekday{color:var(--bb-on-accent)}.job-calendar__list-top{justify-content:space-between;align-items:center;gap:10px;padding:0 16px;display:flex}.job-calendar__list-heading{color:var(--bb-secondary-text);margin:8px 0;font-size:15px;font-weight:700}.month-calendar{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.month-calendar__header{color:var(--bb-secondary-text);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.month-calendar__nav{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;padding:4px}.month-calendar__range{color:var(--bb-primary-text);font-size:14px;font-weight:600}.month-calendar__weekdays{grid-template-columns:repeat(7,1fr);padding:0 12px;display:grid}.month-calendar__weekdays span{text-align:center;color:var(--bb-secondary-text);padding-bottom:4px;font-size:12px}.month-calendar__grid{flex-shrink:0;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(0,52px);gap:4px;padding:0 12px 8px;display:grid}.month-calendar__day{color:var(--bb-primary-text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.month-calendar__day--outside{color:var(--bb-secondary-text);opacity:.4}.month-calendar__day--today{background:var(--bb-card-background)}.month-calendar__day--selected{background:var(--bb-accent)}.month-calendar__daynum{font-size:13px;font-weight:600}.month-calendar__list{border-top:1px solid var(--bb-divider);flex-shrink:0;margin-top:4px;padding-top:8px}.month-calendar__list-heading{color:var(--bb-secondary-text);margin:8px 16px;font-size:15px;font-weight:700}.month-calendar__empty{text-align:center;color:var(--bb-secondary-text);margin-top:24px;font-size:14px}.month-calendar__nav{min-width:var(--bb-touch);min-height:var(--bb-touch);justify-content:center;align-items:center;display:inline-flex}.month-calendar__title{align-items:center;gap:10px;display:inline-flex}.month-calendar__range{font-family:var(--bb-font-display);font-size:24px;font-weight:700}.month-calendar__today{min-height:var(--bb-touch-compact)}.month-calendar__day{touch-action:pan-y;flex-direction:column;gap:4px}.month-calendar__daynum{font-size:16px}.month-calendar__day--today{box-shadow:inset 0 0 0 2px var(--bb-accent)}.month-calendar__day--selected{color:var(--bb-on-accent)}.month-calendar__list-top{justify-content:space-between;align-items:center;gap:10px;padding-right:16px;display:flex}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.toggle-row__label{color:var(--bb-primary-text);align-items:center;gap:10px;font-size:15px;display:flex}.toggle-row__switch{background:var(--bb-sunken);border:2px solid var(--bb-border);border-radius:999px;flex-shrink:0;width:64px;height:34px;transition:background .15s,border-color .15s;position:relative}.toggle-row__switch--on{background:var(--bb-success);border-color:var(--bb-success)}.toggle-row__switch input{opacity:0;cursor:pointer;z-index:1;margin:0;position:absolute;inset:0}.toggle-row__switch input:focus-visible~.toggle-row__knob{outline:3px solid var(--bb-accent);outline-offset:2px}.toggle-row__state{letter-spacing:.04em;color:var(--bb-secondary-text);pointer-events:none;font-size:11px;font-weight:800;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.toggle-row__switch--on .toggle-row__state{color:#fff;left:9px;right:auto}.toggle-row__knob{pointer-events:none;background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059,0 0 0 1px #00000014}.toggle-row__switch--on .toggle-row__knob{transform:translate(30px)}@media (prefers-reduced-motion:reduce){.toggle-row__switch,.toggle-row__knob{transition:none}}.toggle-row--disabled{opacity:.5;cursor:not-allowed}.date-picker{position:relative}.date-picker__trigger{width:100%;color:var(--bb-primary-text);text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 0;font-family:inherit;font-size:15px;display:block}.date-picker__trigger--placeholder{color:var(--bb-secondary-text)}.date-picker__panel{z-index:20;background:var(--bb-sunken);border:1px solid var(--bb-divider);border-radius:12px;margin-top:4px;padding:12px;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000073}.date-picker__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.date-picker__month-label{color:var(--bb-primary-text);font-size:14px;font-weight:700}.date-picker__nav{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;padding:4px;display:flex}.date-picker__weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}.date-picker__weekdays span{text-align:center;color:var(--bb-secondary-text);font-size:12px;font-weight:600}.date-picker__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-picker__day{aspect-ratio:1;color:var(--bb-primary-text);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:13px}.date-picker__day--muted{color:var(--bb-secondary-text);opacity:.4}.date-picker__day--today{box-shadow:inset 0 0 0 1px var(--bb-ice-blue)}.date-picker__day--selected{background:var(--bb-accent);color:var(--bb-on-accent);font-weight:700}.device-history-detail-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.device-history-detail{width:100%;max-width:var(--bb-sheet-width);background:var(--bb-background);border-radius:16px 16px 0 0;flex-direction:column;height:92%;display:flex;overflow:hidden}.device-history-detail__header{border-bottom:1px solid var(--bb-divider);flex-shrink:0;align-items:center;padding:14px 16px;display:flex}.device-history-detail__header h2{text-align:center;flex:1;margin:0;font-size:17px;font-weight:700}.device-history-detail__header-spacer{width:52px}.device-history-detail__done{text-align:right;width:52px;color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;font-size:16px;font-weight:600}.device-history-detail__scroll{flex:1;padding:16px;overflow-y:auto}.device-history-detail__section{margin-bottom:22px}.device-history-detail__section-title{text-transform:uppercase;letter-spacing:.03em;color:var(--bb-secondary-text);margin:0 0 8px 4px;font-size:13px}.device-history-detail__card{background:var(--bb-card-background);border-radius:12px;padding:4px 14px}.device-history-detail__card>*+*{border-top:1px solid var(--bb-divider)}.device-history-detail__footer{color:var(--bb-secondary-text);margin:8px 4px 0;font-size:13px}.device-history-detail__row{justify-content:space-between;gap:12px;padding:10px 0;font-size:15px;display:flex}.device-history-detail__row>span:first-child{color:var(--bb-primary-text);flex-shrink:0}.device-history-detail__row-value{color:var(--bb-secondary-text);text-align:right}.device-history-detail__visit{width:100%;color:var(--bb-primary-text);cursor:pointer;text-align:left;background:0 0;border:none;padding:10px 0;display:block}.device-history-detail__visit-top{justify-content:space-between;font-size:14px;display:flex}.device-history-detail__visit-readings{color:var(--bb-secondary-text);flex-wrap:wrap;gap:10px;margin-top:4px;font-size:13px;display:flex}.result-badge{display:inline-flex;position:relative}.result-badge--pass{color:var(--bb-success)}.result-badge__stamp{animation:.42s cubic-bezier(.2,1.4,.4,1) both result-badge-thump;transform:rotate(-12deg)}.result-badge__word{letter-spacing:.18em;font-size:22px;font-weight:900}.result-badge__check{stroke-dasharray:110;stroke-dashoffset:110px;animation:.38s ease-out .36s forwards result-badge-draw}@keyframes result-badge-thump{0%{opacity:0;transform:rotate(-12deg)scale(1.8)}to{opacity:1;transform:rotate(-12deg)scale(1)}}@keyframes result-badge-draw{to{stroke-dashoffset:0}}.result-badge--fail{color:var(--bb-secondary-text)}.result-badge__needle{transform-origin:80px 80px;animation:.7s cubic-bezier(.3,1.5,.5,1) both result-badge-swing;transform:rotate(140deg)}@keyframes result-badge-swing{0%{transform:rotate(-135deg)}to{transform:rotate(140deg)}}.result-badge__wrench{background:var(--bb-accent);width:56px;height:56px;color:var(--bb-on-accent);border:4px solid var(--bb-background);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-6px}@media (prefers-reduced-motion:reduce){.result-badge__stamp,.result-badge__check,.result-badge__needle{animation:none}.result-badge__check{stroke-dashoffset:0}}.qr-code-sheet{background:var(--bb-background);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:480px;display:flex;overflow:hidden}.qr-code-sheet__body{text-align:center;flex-direction:column;align-items:center;gap:20px;padding:32px 24px;display:flex}.qr-code-sheet__image{background:#fff;border-radius:12px;width:260px;height:260px}.qr-code-sheet__caption{color:var(--bb-secondary-text);max-width:320px;margin:0;font-size:13px}.test-report{color:#111;background:#fff;padding:20px;font-family:Helvetica,Arial,sans-serif;font-size:12px;line-height:1.35}.test-report__header{border-bottom:3px solid #cc5400;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;padding-bottom:10px;display:flex}.test-report h1{margin:0;font-size:18px}.test-report__sub{color:#555;margin:4px 0 0}.test-report__result{color:#555;border:2px solid #555;border-radius:6px;flex-shrink:0;padding:6px 12px;font-size:15px;font-weight:800}.test-report__result--pass{color:#1e8e3e;border-color:#1e8e3e}.test-report__result--fail{color:#c5221f;border-color:#c5221f}.test-report__section{break-inside:avoid;margin-top:12px}.test-report h2{text-transform:uppercase;letter-spacing:.06em;color:#cc5400;border-bottom:1px solid #ddd;margin:0 0 4px;padding-bottom:2px;font-size:11px}.test-report__row{gap:10px;padding:2px 0;display:flex}.test-report__label{color:#555;flex:0 0 150px}.test-report__value{word-break:break-word;flex:1;font-weight:600}.test-report__table{border-collapse:collapse;width:100%;margin-top:8px}.test-report__table th,.test-report__table td{text-align:left;border:1px solid #ccc;padding:4px 6px}.test-report__table th{background:#f1f1f1;font-size:11px}.test-report__bad td{color:#c5221f;font-weight:700}.test-report__overall{margin-top:8px;font-size:13px}.test-report__note{margin:2px 0}.test-report__certify{break-inside:avoid;margin-top:16px}.test-report__signature-row{align-items:flex-end;gap:24px;margin-top:6px;display:flex}.test-report__signature-row>div{flex-direction:column;gap:2px;display:flex}.test-report__signature-row span{color:#555;border-top:1px solid #999;padding-top:2px;font-size:10px}.test-report__signature{object-fit:contain;width:auto;max-width:220px;height:48px}.test-report__signature-blank{width:220px;height:48px}.test-report__date{align-items:flex-end;width:110px;height:48px;font-weight:600;display:flex}.test-report__footer{color:#555;border-top:1px solid #ddd;margin:14px 0 0;padding-top:6px;font-size:10px}.test-report__result--severe{color:#c5221f;border-color:#c5221f}.test-report__result--moderate{color:#b06000;border-color:#b06000}.test-report__result--minor{color:#1e8e3e;border-color:#1e8e3e}.test-report__severe{color:#c5221f;border:1px solid #c5221f;border-radius:4px;margin:8px 0 0;padding:6px 8px;font-weight:700}.test-report__signature-row{flex-wrap:wrap}.test-report__not-present{color:#555;align-items:flex-end;font-size:12px;font-style:italic;display:flex}.test-report__photo-group h3{color:#555;text-transform:uppercase;letter-spacing:.04em;margin:8px 0 4px;font-size:11px}.test-report__photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.test-report__photo{break-inside:avoid;margin:0}.test-report__photo img,.test-report__photo-blank{object-fit:contain;background:#f3f3f3;border:1px solid #ddd;width:100%;height:130px;display:block}.test-report__photo-blank{color:#888;justify-content:center;align-items:center;font-size:10px;display:flex}.test-report__photo figcaption{color:#444;margin-top:2px;font-size:10px}.print-report{display:none}@media print{body>:not(.print-report-root){display:none!important}.print-report-root,.print-report{display:block!important}@page{margin:12mm}.test-report{padding:0;font-size:11px}}.certificate__top{text-align:center;border-bottom:3px solid #cc5400;margin-bottom:14px;padding-bottom:12px}.certificate__kicker{letter-spacing:.08em;text-transform:uppercase;color:#555;margin:0 0 4px;font-size:12px}.certificate__title{margin:0;font-size:24px}.certificate__sub{color:#555;margin:4px 0 10px}.certificate__seal{color:#1e8e3e;letter-spacing:.1em;border:3px solid #1e8e3e;border-radius:8px;padding:6px 22px;font-size:18px;font-weight:800;display:inline-block}.certificate__statement{margin:0 0 12px;font-size:13px;line-height:1.5}.certificate__valid{background:#f1f9f3;border:1px solid #1e8e3e;border-radius:6px;flex-direction:column;align-items:center;gap:2px;margin:0 0 14px;padding:10px;display:flex}.certificate__valid span{text-transform:uppercase;letter-spacing:.06em;color:#555;font-size:11px}.certificate__valid strong{color:#1e8e3e;font-size:18px}.certificate__valid em{color:#555;font-size:11px}.certificate__tester{color:#555;margin:8px 0 0;font-size:11px}.report-preview-overlay{z-index:150;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.report-preview{width:100%;max-width:var(--bb-sheet-width);background:var(--bb-background);border-radius:16px 16px 0 0;flex-direction:column;height:94%;display:flex;overflow:hidden}.report-preview__scroll{flex:1;padding:12px;overflow-y:auto}.report-preview__scroll .test-report{border-radius:8px}.report-preview__loading{color:var(--bb-secondary-text);text-align:center;padding:40px 0}.report-preview__actions{border-top:1px solid var(--bb-divider);padding:12px 16px 16px}.report-preview__buttons{flex-wrap:wrap;gap:10px;display:flex}.report-preview__buttons .bb-valve-button{flex:100px;min-width:0}@media (width<=520px){.report-preview__buttons{gap:8px}.report-preview__buttons .bb-valve-button{padding:12px 6px;font-size:15px}}.report-preview__filed-row{color:var(--bb-secondary-text);justify-content:space-between;align-items:center;gap:12px;margin-top:8px;font-size:13px;display:flex}.report-preview__filed{color:var(--bb-success);margin:0;font-size:13px;font-weight:600}.report-preview__buttons .bb-valve-button:disabled{opacity:.5;cursor:not-allowed}.report-preview__secondary{background:var(--bb-steel);color:var(--bb-primary-text)}.report-preview__note{color:var(--bb-safety-yellow);margin:0 0 10px;font-size:13px}.report-preview__hint{color:var(--bb-secondary-text);text-align:center;margin:8px 0 0;font-size:13px}.report-preview__note--alert{color:var(--bb-alert-red);font-weight:700}.property-detail-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.property-detail{width:100%;max-width:var(--bb-sheet-width);background:var(--bb-background);border-radius:16px 16px 0 0;flex-direction:column;height:92%;display:flex;overflow:hidden}.property-detail__header{border-bottom:1px solid var(--bb-divider);flex-shrink:0;align-items:center;padding:14px 16px;display:flex}.property-detail__header h2{text-align:center;flex:1;margin:0;font-size:17px;font-weight:700}.property-detail__header-spacer{width:52px}.property-detail__done{text-align:right;min-width:52px;color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;font-size:16px;font-weight:600}.property-detail__done:disabled{opacity:.4;cursor:default}.property-detail__scroll{flex:1;padding:16px;overflow-y:auto}.property-detail__section{margin-bottom:22px}.property-detail__section-title{text-transform:uppercase;letter-spacing:.03em;color:var(--bb-secondary-text);margin:0 0 8px 4px;font-size:13px}.property-detail__card{background:var(--bb-card-background);border-radius:12px;padding:4px 14px}.property-detail__card>*+*{border-top:1px solid var(--bb-divider)}.property-detail__footer{color:var(--bb-secondary-text);margin:8px 4px 0;font-size:13px}.property-detail__readonly-row{justify-content:space-between;gap:12px;padding:10px 0;font-size:15px;display:flex}.property-detail__readonly-row>span:first-child{color:var(--bb-primary-text);flex-shrink:0}.property-detail__readonly-value{color:var(--bb-secondary-text);text-align:right}.property-detail__field-label{color:var(--bb-secondary-text);padding-top:10px;font-size:14px;display:block}.property-detail__input{border:1px solid var(--bb-border);background:var(--bb-sunken);width:100%;min-height:44px;color:var(--bb-primary-text);resize:vertical;border-radius:8px;margin:4px 0 6px;padding:10px 12px;font-family:inherit;font-size:16px;display:block}.property-detail__input:focus{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 30%, transparent);outline:none}.property-detail__input::placeholder{color:var(--bb-secondary-text)}.property-detail__input:focus{outline:none}.property-detail__device-card{margin-bottom:10px;padding:0;overflow:hidden}.property-detail__device-card>*+*{border-top:none}.property-detail__disclosure{width:100%;color:var(--bb-primary-text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px;font-size:15px;display:flex}.property-detail__disclosure-chevron{color:var(--bb-secondary-text);transition:transform .15s}.property-detail__disclosure-chevron--open{transform:rotate(90deg)}.property-detail__device-fields{border-top:1px solid var(--bb-divider);padding:0 14px 14px}.property-detail__input--dimmed{opacity:.4}.property-detail__input--dimmed::placeholder{opacity:.6}.property-detail__na-row{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.property-detail__na-row .property-detail__input{flex:150px;min-width:0;margin:0}.property-detail__na-pill{background:var(--bb-steel);color:var(--bb-secondary-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:600}.property-detail__na-pill--active{background:var(--bb-accent);color:var(--bb-on-accent)}.property-detail__history-row{width:100%;color:var(--bb-primary-text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;padding:12px 0;font-size:14px;display:flex}.property-detail__add-device{border:1px dashed var(--bb-border);width:100%;color:var(--bb-safety-yellow);cursor:pointer;background:0 0;border-radius:12px;margin-top:4px;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.property-detail__section-heading{justify-content:space-between;align-items:center;display:flex}.property-detail__section-actions{align-items:baseline;gap:14px;display:flex}.property-detail__edit-link{padding:0 4px}.property-detail__history-item{align-items:center;gap:8px;display:flex}.property-detail__history-item .property-detail__history-row{flex:1}.property-detail__report-link{flex-shrink:0;padding:4px 4px 4px 8px}.property-detail__edit-quiet{color:var(--bb-secondary-text)}.property-detail__check{color:var(--bb-secondary-text);align-items:center;gap:8px;padding:10px 0 2px;font-size:14px;display:flex}.property-detail__tests{border-bottom:1px solid var(--bb-divider);margin-bottom:12px;padding-bottom:6px}.property-detail__tests-title{text-transform:uppercase;letter-spacing:.04em;color:var(--bb-secondary-text);margin:0 0 4px;font-size:13px;font-weight:700}.property-detail__unnamed{justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.property-detail__unnamed-info{flex-direction:column;gap:2px;min-width:0;display:flex}.property-detail__unnamed-actions{flex-shrink:0;display:flex}.property-detail__delete-link{color:var(--bb-alert-red)!important}.property-detail__delete-device{border:1px solid var(--bb-alert-red);width:100%;color:var(--bb-alert-red);cursor:pointer;background:0 0;border-radius:10px;margin-top:14px;padding:10px;font-family:inherit;font-size:14px;font-weight:600;display:block}.add-job__matches{margin-top:10px}.add-job__section-label{text-transform:uppercase;letter-spacing:.03em;color:var(--bb-secondary-text);margin:0 0 6px;font-size:12px;font-weight:600}.add-job__new{border:1px dashed color-mix(in srgb, var(--bb-safety-yellow) 55%, transparent);width:100%;color:var(--bb-safety-yellow);cursor:pointer;background:0 0;border-radius:10px;margin-top:8px;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.add-job__picked,.add-job__lookalike{color:var(--bb-secondary-text);justify-content:space-between;align-items:center;gap:10px;padding:4px 0 8px;font-size:13px;display:flex}.add-job__lookalike{color:var(--bb-safety-yellow);padding:8px 0 0}.add-job__lookalike strong{color:var(--bb-primary-text)}.property-detail__no-photo{color:var(--bb-safety-yellow);margin-top:2px;font-size:13px;font-weight:400;display:block}.property-detail__failed{color:var(--bb-accent);margin-top:2px;font-size:13px;font-weight:600;display:block}.property-detail__failed--overdue{color:var(--bb-alert-red)}.property-detail__field-hint{color:var(--bb-safety-yellow);margin:4px 0 0;font-size:13px;font-weight:600}.property-detail__na-row--date>.date-picker,.property-detail__na-row--date>.property-detail__input{flex:1;min-width:0}.property-detail__na-row--date>.property-detail__input--dimmed{opacity:1;color:var(--bb-secondary-text)}.add-job__start{width:100%;margin-top:16px}.add-job__start:disabled{opacity:.4;cursor:not-allowed}.property-detail__summary{background:var(--bb-card-background);border-left:4px solid var(--bb-accent);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;display:flex}.property-detail__summary-text{min-width:0;color:var(--bb-secondary-text);flex-direction:column;gap:2px;font-size:14px;display:flex}.property-detail__summary-name{color:var(--bb-primary-text);margin:0 0 2px;font-size:20px}.property-detail__summary-role{font-size:13px}.property-detail__summary-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.property-detail__device-head{align-items:center;gap:4px;padding-right:12px;display:flex}.property-detail__device-head .property-detail__disclosure{flex:1;min-width:0}.property-detail__start{border-color:var(--bb-accent);background:var(--bb-accent);color:var(--bb-on-accent);white-space:nowrap}.add-job__summary{border-bottom:1px solid var(--bb-divider);justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;padding:2px 0 10px;display:flex}.add-job__summary-name{font-family:var(--bb-font-display);font-size:24px;font-weight:700;line-height:1.1}.add-job__summary-address{color:var(--bb-secondary-text);margin-top:2px;font-size:14px}.add-job__quick{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.add-job__quick-chip{min-height:var(--bb-touch-compact);border:1.5px solid var(--bb-border);color:var(--bb-primary-text);cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:700}.add-job__quick-chip small{opacity:.8;font-size:12px;font-weight:500}.add-job__quick-chip--active{background:var(--bb-accent);border-color:var(--bb-accent);color:var(--bb-on-accent)}.property-detail__summary{display:block}.property-detail__summary-name{font-family:var(--bb-font-display);font-size:30px;font-weight:700;line-height:1.1}.property-detail__summary-actions{gap:8px;margin-top:10px;display:flex}.property-detail__device-title{flex-direction:column;gap:3px;min-width:0;display:flex}.property-detail__device-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.property-detail__device-serial{font-size:17px}.property-detail__device-detail,.property-detail__device-due{color:var(--bb-secondary-text);font-size:13px;font-weight:400}.property-detail__device-due--overdue{color:var(--bb-alert-red);font-weight:600}.property-detail__device-due--soon{color:var(--bb-safety-yellow);font-weight:600}.signature-capture{background:var(--bb-background);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:480px;height:auto;max-height:92%;display:flex;overflow:hidden}.signature-capture__body{flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.signature-capture__body p{color:var(--bb-secondary-text);margin:0;font-size:14px}.signature-capture__canvas{touch-action:none;cursor:crosshair;border-radius:12px}.signature-capture__body .bb-valve-button{max-width:260px}.signature-capture__body .bb-valve-button:disabled{opacity:.5;cursor:not-allowed}.tp-narrow{max-width:640px;margin:0 auto}.tp-jump{z-index:4;background:var(--bb-background);border-bottom:1px solid var(--bb-divider);gap:8px;margin:-16px -16px 12px;padding:6px 16px;display:flex;position:sticky;top:47px;overflow-x:auto}.tp-jump__chip{min-height:var(--bb-touch-compact);border:1px solid var(--bb-border);background:var(--bb-card-background);color:var(--bb-primary-text);cursor:pointer;border-radius:999px;flex-shrink:0;padding:0 14px;font-family:inherit;font-size:14px;font-weight:600}.tp-alerts{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.tp-alert{background:color-mix(in srgb, var(--bb-safety-yellow) 22%, transparent);color:var(--bb-primary-text);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.tp-alert--urgent{background:color-mix(in srgb, var(--bb-alert-red) 22%, transparent)}.tp-cols{grid-template-columns:minmax(0,1fr);column-gap:20px;display:grid}.tp-scroll-target{scroll-margin-top:108px}@media (width>=980px){.tp-cols{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"device main""extras main";align-items:start}.tp-device{grid-area:device}.tp-main{grid-area:main}.tp-extras{grid-area:extras}}.tp-device-summary{justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.tp-device-summary__text{min-width:0;color:var(--bb-secondary-text);flex-direction:column;gap:2px;font-size:14px;display:flex}.tp-device-summary__text strong{color:var(--bb-primary-text);font-size:17px}.tp-device-summary__tag{background:var(--bb-alert-red);color:#fff;border-radius:6px;align-self:flex-start;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:700}.tp-meta{margin-bottom:10px}.tp-readings{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.tp-card{background:var(--bb-card-background);border:2px solid #0000;border-radius:12px;padding:10px 14px 6px}.tp-card--bad{border-color:var(--bb-alert-red)}.tp-card__title{color:var(--bb-secondary-text);margin:0 0 4px;font-size:14px;font-weight:700}.tp-card__sub{color:var(--bb-secondary-text);margin:6px 0 0;font-size:13px}.tp-verdict{border:2px solid var(--bb-border);background:var(--bb-card-background);border-radius:12px;padding:12px 14px;font-size:15px}.tp-verdict strong{font-size:18px;display:block}.tp-verdict--pass{border-color:var(--bb-success)}.tp-verdict--pass strong{color:var(--bb-success)}.tp-verdict--fail{border-color:var(--bb-alert-red)}.tp-verdict--fail strong{color:var(--bb-alert-red)}.tp-verdict--none{color:var(--bb-secondary-text)}.tp-result-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tp-result-links>*{flex:180px}.tp-bar{z-index:3;padding:8px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bb-background);border-top:1px solid var(--bb-divider);margin:8px -16px -16px;position:sticky;bottom:0;box-shadow:0 -6px 14px #0000001f}.tp-bar__hint{color:var(--bb-secondary-text);margin:0 0 6px;font-size:13px;font-weight:600}.tp-bar__hint--pass{color:var(--bb-success)}.tp-bar__hint--fail{color:var(--bb-alert-red)}.tp-bar__row{grid-template-columns:1fr 1fr 1.4fr;gap:8px;display:grid}.tp-bar__btn,.tp-bar__submit{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:48px;font-family:inherit;font-size:16px;font-weight:700;display:inline-flex}.tp-bar__btn{border:2px solid var(--bb-border);background:var(--bb-card-background);color:var(--bb-primary-text)}.tp-bar__btn.is-suggested{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 35%, transparent)}.tp-bar__btn--pass.is-on{border-color:var(--bb-success);background:var(--bb-success);color:#fff}.tp-bar__btn--fail.is-on{border-color:var(--bb-alert-red);background:var(--bb-alert-red);color:#fff}.tp-bar__btn:disabled{opacity:.4;cursor:not-allowed}.tp-bar__submit{background:var(--bb-accent);color:var(--bb-on-accent);border:none}.tp-bar__submit:disabled{opacity:.4;cursor:not-allowed}.tp-badge{background:var(--bb-steel);color:var(--bb-primary-text);border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:700}.tp-collapsible__note{color:var(--bb-safety-yellow);margin:6px 4px 0;font-size:13px}.tp-collapsible__body{margin-top:10px}.tp-submitted{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;display:flex}.tp-submitted__title{margin:4px 0 0;font-size:26px;font-weight:800}.tp-submitted__sub{color:var(--bb-secondary-text);margin:0;font-size:15px}.tp-bar__hint{justify-content:space-between;align-items:center;gap:12px;display:flex}.tp-bar__link{color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 8px;font-family:inherit;font-size:14px;font-weight:700}.tp-book{border:2px solid var(--bb-accent);color:var(--bb-primary-text);border-radius:12px}.tp-booked{background:var(--bb-card-background);color:var(--bb-success);border-radius:12px;justify-content:center;align-items:center;margin:0;padding:12px;font-size:15px;font-weight:600;display:flex}.tp-outcome-row{background:var(--bb-card-background);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;font-size:15px;display:flex}.tp-bar__btn--attention{border-color:var(--bb-accent);color:var(--bb-primary-text);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 35%, transparent)}@media (width<=699px){.job-detail--typing .tp-jump,.job-detail--typing-readings .tp-bar__hint,.job-detail--typing-device .tp-bar,.job-detail--typing-other .tp-bar{display:none}}.tp-done-editing{width:100%;min-height:var(--bb-touch);border:1px solid var(--bb-border);color:var(--bb-ice-blue);cursor:pointer;background:0 0;border-radius:12px;margin:8px 0 6px;font-family:inherit;font-size:15px;font-weight:700;display:block}.reading-gauge{--gauge:var(--bb-success);align-items:center;gap:10px;margin:8px 0 4px;display:flex}.reading-gauge--low{--gauge:var(--bb-alert-red)}.reading-gauge__track{background:var(--bb-border);border-radius:4px;flex:1;height:8px;position:relative;overflow:visible}.reading-gauge__fill{background:var(--gauge);border-radius:4px;height:100%;transition:width .25s ease-out,background .2s}.reading-gauge__tick{background:var(--bb-primary-text,#fff);opacity:.7;width:2px;height:14px;position:absolute;top:-3px}.reading-gauge__label{min-width:50px;color:var(--bb-secondary-text);text-align:right;font-size:12px}.tp-meta-summary{background:var(--bb-card-background);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:8px 14px;font-size:15px;display:flex}.tp-meta__done{min-height:var(--bb-touch-compact);align-self:flex-end}@media (width<=699px){.tp-jump{position:static}}.tp-contact-strip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tp-contact-strip__btn{min-height:var(--bb-touch);border:1.5px solid var(--bb-border);background:var(--bb-card-background);color:var(--bb-primary-text);text-align:center;border-radius:12px;flex:140px;justify-content:center;align-items:center;padding:0 14px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.tp-contact-strip__btn:active{opacity:.6}.tp-collapsible__action{border:1.5px solid var(--bb-accent);color:var(--bb-accent);border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:14px;font-weight:700}.survey-form__alert{background:var(--bb-alert-red);color:#fff;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px;font-weight:600}.survey-form__item{border:1px solid var(--bb-divider);border-radius:10px;margin-bottom:12px;padding:10px 12px 12px}.survey-form__item-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.survey-form__service{background:var(--bb-steel);color:var(--bb-primary-text);border:none;border-radius:8px;padding:6px 8px;font-family:inherit;font-weight:600}.survey-form__remove{color:var(--bb-alert-red);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:13px;font-weight:600}.survey-form__add-row{flex-wrap:wrap;gap:8px;display:flex}.survey-form__add{border:1px dashed var(--bb-border);color:var(--bb-safety-yellow);cursor:pointer;background:0 0;border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:600}.survey-form__file{display:inline-block}.survey-form__check{align-items:center;gap:8px;padding:6px 0;display:flex}.survey-form__attachment{justify-content:space-between;gap:8px;padding:6px 0;display:flex}.survey-form__attachment a{color:var(--bb-ice-blue);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.survey-form__delete{width:100%;color:var(--bb-alert-red);cursor:pointer;background:0 0;border:none;padding:14px;font-family:inherit;font-size:15px;font-weight:600;display:block}.survey-form__item--finding{padding-top:6px}.survey-form__item--severe{border-color:var(--bb-alert-red);box-shadow:inset 4px 0 0 var(--bb-alert-red)}.survey-form__item-toggle{width:100%;min-height:var(--bb-touch);color:var(--bb-primary-text);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:0;font-family:inherit;font-size:16px;display:flex}.survey-form__chevron{color:var(--bb-secondary-text);font-size:12px;transition:transform .15s}.survey-form__chevron--open{transform:rotate(90deg)}.survey-form__remove{min-height:var(--bb-touch-compact)}.survey-form__quick{grid-template-columns:3fr 2fr;gap:8px;margin-bottom:6px;display:grid}.survey-form__quick-label{text-transform:uppercase;letter-spacing:.03em;color:var(--bb-secondary-text);margin:2px 0 4px 2px;font-size:12px;font-weight:700;display:block}.survey-form__quick .bb-tab{padding-inline:4px;font-size:13px}.site-surveys__row{border-bottom:1px solid var(--bb-divider);align-items:center;gap:4px;display:flex}.site-surveys__main{min-width:0;color:var(--bb-primary-text);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;justify-content:space-between;gap:8px;padding:12px 0;font-family:inherit;font-size:14px;display:flex}.site-surveys__meta{color:var(--bb-secondary-text);flex-shrink:0}.site-surveys__link{color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-family:inherit;font-size:14px;font-weight:700}.site-surveys__link--quiet{color:var(--bb-secondary-text);font-weight:600}.site-surveys__empty{color:var(--bb-secondary-text);margin:4px 0 10px;font-size:13px}.site-surveys__add{border:1px dashed var(--bb-border);width:100%;color:var(--bb-safety-yellow);cursor:pointer;background:0 0;border-radius:12px;margin-top:8px;padding:12px;font-family:inherit;font-size:15px;font-weight:600}.customer-picker__property{text-align:left;background:var(--bb-card-background);width:100%;color:var(--bb-primary-text);cursor:pointer;border:none;border-radius:12px;margin-bottom:8px;padding:12px 14px;font-family:inherit;display:block}.customer-picker__property-name{font-size:16px;font-weight:600;display:block}.customer-picker__property-address,.customer-picker__property-meta{color:var(--bb-secondary-text);margin-top:2px;font-size:13px;display:block}.add-device__address-text{flex-direction:column;gap:2px;padding:2px 0 10px;display:flex}.add-device__address-text span{color:var(--bb-secondary-text);font-size:14px}.add-device__question{color:var(--bb-safety-yellow);margin:0 0 8px;font-size:13px}.add-device__buttons{flex-direction:column;gap:8px;margin-top:12px;display:flex}.add-device__buttons button:disabled{opacity:.45;cursor:not-allowed}.add-device__close{text-align:center;padding:12px}.add-device__added{color:var(--bb-success);padding:8px 0;font-size:15px;font-weight:600}.add-device__date .date-picker__trigger{border:1px solid var(--bb-border);background:var(--bb-sunken);border-radius:8px;min-height:44px;margin:4px 0 6px;padding:10px 12px;font-size:16px}.add-device__date .date-picker__trigger--open{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 30%, transparent)}.device-more__toggle{width:100%;min-height:var(--bb-touch);color:var(--bb-primary-text);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-family:inherit;font-size:15px;display:flex}.device-more__text{flex-direction:column;gap:2px;min-width:0;display:flex}.device-more__text small{color:var(--bb-secondary-text);font-size:13px}.device-more__chevron{color:var(--bb-secondary-text);flex-shrink:0}.photo-gallery{margin:4px 0 12px}.photo-gallery__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.photo-gallery__title{color:var(--bb-secondary-text);font-size:13px}.photo-gallery__add:disabled{opacity:.5}.photo-gallery__empty{color:var(--bb-secondary-text);margin:0;font-size:13px}.photo-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.photo-gallery__thumb{aspect-ratio:1;background:var(--bb-steel);cursor:pointer;border:none;border-radius:10px;padding:0;position:relative;overflow:hidden}.photo-gallery__thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-gallery__thumb-placeholder{color:var(--bb-secondary-text);font-size:18px}.photo-gallery__pending{background:var(--bb-yellow-fill);color:var(--bb-on-yellow);padding:2px 4px;font-size:12px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.photo-viewer{z-index:600;background:#000000f0;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.photo-viewer__panel{flex-direction:column;gap:10px;width:100%;max-width:480px;max-height:100%;display:flex;overflow-y:auto}.photo-viewer__panel img{object-fit:contain;background:#000;border-radius:10px;width:100%;max-height:60vh}.photo-viewer__loading,.photo-viewer__pending{color:var(--bb-secondary-text);text-align:center;margin:0;font-size:13px}.photo-viewer__pending{color:var(--bb-safety-yellow)}.photo-viewer__caption{border:1px solid var(--bb-border);background:var(--bb-card-background);width:100%;color:var(--bb-primary-text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:15px}.photo-viewer__buttons{gap:10px;display:flex}.photo-viewer__buttons>*{flex:1}.photo-viewer__delete{border:1px solid var(--bb-alert-red);color:var(--bb-alert-red);cursor:pointer;background:0 0;border-radius:12px;padding:10px;font-family:inherit;font-size:15px;font-weight:600}.photo-viewer__done{background:var(--bb-steel);color:var(--bb-primary-text);cursor:pointer;border:none;border-radius:12px;padding:10px;font-family:inherit;font-size:15px;font-weight:600}.schedule-sheet__address{color:var(--bb-secondary-text);margin-bottom:4px;font-size:14px}.schedule-sheet__row{cursor:pointer;align-items:flex-start;gap:12px;padding:10px 0;display:flex}.schedule-sheet__row+.schedule-sheet__row{border-top:1px solid var(--bb-divider)}.schedule-sheet__row--disabled{opacity:.55;cursor:default}.schedule-sheet__row input{width:20px;height:20px;accent-color:var(--bb-accent);flex-shrink:0;margin-top:2px}.schedule-sheet__row-text{flex-direction:column;gap:2px;display:flex}.schedule-sheet__serial{font-size:15px;font-weight:600}.schedule-sheet__detail{color:var(--bb-secondary-text);font-size:13px;font-weight:400}.schedule-sheet__due{color:var(--bb-secondary-text);font-size:13px}.schedule-sheet__due--soon{color:var(--bb-safety-yellow);font-weight:600}.schedule-sheet__due--overdue{color:var(--bb-alert-red);font-weight:600}.schedule-sheet__done{text-align:center;padding:24px 16px}.schedule-sheet__done-title{margin:0 0 8px;font-size:20px;font-weight:700}.job-detail-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.job-detail{width:100%;max-width:var(--bb-sheet-width);background:var(--bb-background);border-radius:16px 16px 0 0;flex-direction:column;height:92%;display:flex;overflow:hidden}.job-detail__header{border-bottom:1px solid var(--bb-divider);flex-shrink:0;align-items:center;padding:14px 16px;display:flex}.job-detail__header-title{flex-direction:column;flex:1;align-items:center;gap:1px;min-width:0;display:flex}.job-detail__header-sub{color:var(--bb-secondary-text);font-size:13px;font-weight:600}.job-detail__header>h2{flex:1;min-width:0}.job-detail__header h2{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;margin:0;font-size:17px;font-weight:700;overflow:hidden}.job-detail__header-spacer{width:52px}.job-detail__done{text-align:right;width:52px;color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;font-size:16px;font-weight:600}.job-detail__scroll{flex:1;padding:16px;overflow-y:auto}.job-detail__section{margin-bottom:22px}.job-detail__section-title{text-transform:uppercase;letter-spacing:.03em;color:var(--bb-secondary-text);align-items:center;gap:6px;margin:0 0 8px 4px;font-size:13px;display:flex}.job-detail__card{background:var(--bb-card-background);border-radius:12px;padding:4px 14px}.job-detail__card>*+*{border-top:1px solid var(--bb-divider)}.job-detail__footer{color:var(--bb-secondary-text);margin:8px 4px 0;font-size:13px}.job-detail__footer--accent{color:var(--bb-safety-yellow);font-weight:600}.job-detail__readonly-row{justify-content:space-between;gap:12px;padding:10px 0;font-size:15px;display:flex}.job-detail__readonly-row>span:first-child{color:var(--bb-primary-text);flex-shrink:0}.job-detail__readonly-value{color:var(--bb-secondary-text);text-align:right}.job-detail__input{border:1px solid var(--bb-border);background:var(--bb-sunken);width:100%;min-height:44px;color:var(--bb-primary-text);resize:vertical;border-radius:8px;margin:4px 0 6px;padding:10px 12px;font-family:inherit;font-size:16px;display:block}.job-detail__input:focus{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 30%, transparent);outline:none}.job-detail__input::placeholder{color:var(--bb-secondary-text)}.job-detail__input:focus{outline:none}.job-detail__input--dimmed{opacity:.4}.job-detail__input--dimmed::placeholder{opacity:.6}.job-detail__field-label{color:var(--bb-secondary-text);padding-top:10px;font-size:14px;display:block}.job-detail__select{width:100%;color:var(--bb-primary-text);background:0 0;border:none;padding:6px 0 10px;font-family:inherit;font-size:15px;display:block}.job-detail__select:focus{outline:none}.job-detail__warning{color:var(--bb-safety-yellow);margin:0;padding:4px 0 10px;font-size:14px}.job-detail__na-row{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.job-detail__na-row .job-detail__input{flex:150px;min-width:0;margin:0}.job-detail__na-pill{background:var(--bb-steel);color:var(--bb-secondary-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:600}.job-detail__na-pill--active{background:var(--bb-accent);color:var(--bb-on-accent)}.job-detail__valve-label{color:var(--bb-primary-text);margin:10px 0 0;font-size:14px}.job-detail__tester-preview{flex-direction:column;gap:2px;padding:10px 0;font-size:13px;display:flex}.job-detail__tester-preview-label{color:var(--bb-secondary-text);font-size:13px}.job-detail__history-result{align-items:center;gap:5px;font-weight:600;display:inline-flex}.job-detail__submit{margin:12px 0}.job-detail__warning--header{color:var(--bb-accent);padding-top:10px;font-size:14px;font-weight:700}.job-detail__hint{color:var(--bb-secondary-text);margin:0;padding:6px 0;font-size:13px}.job-detail__ghost-row{text-align:left;padding:10px 0;display:block}.job-detail__disclosure{background:var(--bb-card-background);width:100%;color:var(--bb-primary-text);cursor:pointer;border:none;border-radius:12px;justify-content:space-between;align-items:center;padding:14px;font-size:15px;display:flex}.job-detail__disclosure-chevron{color:var(--bb-secondary-text);transition:transform .15s}.job-detail__disclosure-chevron--open{transform:rotate(90deg)}.job-detail__history{margin-top:6px;padding:4px 14px}.job-detail__history-row{border-top:1px solid var(--bb-divider);width:100%;color:var(--bb-primary-text);cursor:pointer;text-align:left;background:0 0;border-bottom:none;border-left:none;border-right:none;justify-content:space-between;padding:8px 0;font-family:inherit;font-size:13px;display:flex}.job-detail__history-row:first-child{border-top:none}.job-detail__history-archived{color:var(--bb-secondary-text);margin:10px 0 0;font-size:13px;font-weight:600}.job-detail__sibling-row{align-items:center;gap:10px;padding:8px 0;display:flex}.job-detail__sibling-serial{color:var(--bb-primary-text);font-size:14px}.job-detail__alert{background:var(--bb-card-background);text-align:center;border-radius:16px 16px 0 0;width:100%;max-width:480px;padding:24px}.job-detail__alert h3{margin:0 0 10px;font-size:17px}.job-detail__alert p{color:var(--bb-secondary-text);margin:0 0 20px;font-size:13px}.job-detail__alert .bb-valve-button{margin-bottom:10px}.job-detail__view-report{width:100%;color:var(--bb-ice-blue);margin-top:10px;padding:10px;font-size:15px;display:block}.job-detail__edit-site{color:var(--bb-ice-blue);padding:8px 0 2px;font-size:14px;display:block}.job-detail__quick-actions{gap:8px;margin-bottom:16px;display:flex}.job-detail__quick-button{border:1px solid var(--bb-border);background:var(--bb-card-background);color:var(--bb-ice-blue);cursor:pointer;border-radius:10px;flex:1;padding:10px 6px;font-family:inherit;font-size:14px;font-weight:700}.job-detail__tabs{z-index:5;box-shadow:0 -12px 0 6px var(--bb-background);margin:0 0 16px;position:sticky;top:-1px}.job-detail__sibling-actions{flex-shrink:0;gap:2px;margin-left:auto;display:flex}.job-detail__sibling-button{color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:700}.job-detail__sibling-button--quiet{color:var(--bb-secondary-text);font-weight:600}.job-detail__sibling-button--delete{color:var(--bb-alert-red);font-weight:600}.job-detail__delete-device{border:1px solid var(--bb-alert-red);width:100%;color:var(--bb-alert-red);cursor:pointer;background:0 0;border-radius:10px;margin-top:4px;padding:10px;font-family:inherit;font-size:14px;font-weight:600;display:block}.job-detail__delete-device--soft{opacity:.85;margin-top:8px}.job-detail__submit:disabled{opacity:.45;cursor:not-allowed}.job-detail__edit-site--bottom{border:1px solid var(--bb-border);text-align:center;cursor:pointer;border-radius:12px;width:100%;margin:4px 0 20px;padding:14px;font-size:15px;font-weight:600}.job-detail__signature-preview{background:#fff;border-radius:8px;width:auto;max-width:220px;height:60px;margin-bottom:8px;padding:4px 10px;display:block}.job-detail__device-notes{background:color-mix(in srgb, var(--bb-safety-yellow) 15%, transparent);border:1px solid color-mix(in srgb, var(--bb-safety-yellow) 55%, transparent);color:var(--bb-primary-text);border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:13px;line-height:1.35}.job-detail__move-device{border:1px solid var(--bb-safety-yellow);width:100%;color:var(--bb-safety-yellow);cursor:pointer;background:0 0;border-radius:10px;margin:12px 0 4px;padding:10px;font-family:inherit;font-size:14px;font-weight:600;display:block}.job-detail__deadline{color:var(--bb-accent);margin:0 0 10px;font-size:13px;font-weight:600}.job-detail__deadline--overdue{color:var(--bb-alert-red)}.job-detail__field-hint{color:var(--bb-safety-yellow);margin:4px 0 0;font-size:13px;font-weight:600}.job-detail__address-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.job-detail__na-row--date>.date-picker,.job-detail__na-row--date>.job-detail__input{flex:1;min-width:0}.job-detail__na-row--date>.job-detail__input--dimmed{opacity:1;color:var(--bb-secondary-text)}.job-detail__reminder-tabs{flex-wrap:wrap;justify-content:center;display:flex}.job-detail__reminder-tabs .bb-tab{flex:30%}.job-detail__input[type=number]{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}@media (width>=980px){.job-detail{max-width:1120px}}.weather-location-picker{flex-direction:column;gap:10px;display:flex}.weather-location-picker__hint{color:var(--bb-secondary-text);margin:0;font-size:13px}.weather-location-picker__search-row{gap:8px;display:flex}.weather-location-picker__search-input{background:var(--bb-card-background);min-width:0;color:var(--bb-primary-text);border:none;border-radius:8px;flex:1;padding:10px;font-family:inherit;font-size:14px}.weather-location-picker__search-input::placeholder{color:var(--bb-secondary-text)}.weather-location-picker__set-button{width:auto;padding:10px 18px;font-size:14px}.weather-location-picker__current{color:var(--bb-secondary-text);align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.weather-location-picker__error{color:var(--bb-safety-yellow);margin:0;font-size:13px}.weather-banner{margin:0 0 10px}.weather-banner__off-row{background:var(--bb-card-background);width:100%;color:var(--bb-secondary-text);cursor:pointer;text-align:left;border:none;border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.weather-banner__spacer{flex:1}.weather-banner__turn-on{color:var(--bb-accent);font-size:13px;font-weight:600}.weather-banner__loading-row{color:var(--bb-secondary-text);align-items:center;gap:10px;padding:10px 16px;font-size:13px;display:flex}.weather-banner__spinner{border:2px solid var(--bb-border);border-top-color:var(--bb-secondary-text);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite weather-banner-spin}@keyframes weather-banner-spin{to{transform:rotate(360deg)}}.weather-banner__card{background:var(--bb-card-background);border:1px solid var(--bb-divider);border-radius:12px;margin-top:6px;padding:10px 16px;animation:.2s ease-out both weather-banner-open}@keyframes weather-banner-open{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.weather-banner__card{animation:none}}.weather-banner__chip{width:100%;min-height:var(--bb-touch-compact);border:1px solid var(--bb-divider);background:var(--bb-card-background);color:var(--bb-primary-text);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:4px 12px;font-family:inherit;font-size:14px;display:flex}.weather-banner__chip-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.weather-banner__chip-range{color:var(--bb-secondary-text);font-size:13px}.weather-banner__chip-chevron{color:var(--bb-secondary-text);transition:transform .15s;display:flex}.weather-banner__chip-chevron--open{transform:rotate(180deg)}.weather-banner__location-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.weather-banner__location-button{color:var(--bb-secondary-text);cursor:pointer;min-height:var(--bb-touch-compact);background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:13px;font-weight:600;display:flex}.weather-banner__refresh{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;padding:0;display:flex}.weather-banner__refresh--spinning svg{animation:.6s linear infinite weather-banner-spin}.weather-banner__day-nav{color:var(--bb-secondary-text);justify-content:center;align-items:center;gap:12px;margin-bottom:6px;display:flex}.weather-banner__chevron{color:var(--bb-secondary-text);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.weather-banner__chevron:disabled{opacity:.25;cursor:default}.weather-banner__day-label{text-align:center;min-width:120px;font-size:13px;font-weight:600}.weather-banner__content-row{align-items:center;gap:12px;display:flex}.weather-banner__icon{flex-shrink:0;display:flex}.weather-banner__icon--sun{color:var(--bb-safety-yellow)}.weather-banner__icon--sky{color:var(--bb-primary-text)}.weather-banner__icon--ice{color:var(--bb-ice-blue)}.weather-banner__text{flex:1;min-width:0}.weather-banner__condition{color:var(--bb-primary-text);font-size:14px;font-weight:600}.weather-banner__high-low{color:var(--bb-secondary-text);font-size:13px}.weather-banner__freeze-badge{color:var(--bb-safety-yellow);background:color-mix(in srgb, var(--bb-safety-yellow) 15%, transparent);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:600;display:flex}.weather-banner-overlay{z-index:110;background:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.weather-banner-sheet{background:var(--bb-background);border-radius:16px 16px 0 0;width:100%;max-width:480px;overflow:hidden}.weather-banner-sheet__header{border-bottom:1px solid var(--bb-divider);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.weather-banner-sheet__header h2{margin:0;font-size:17px;font-weight:700}.weather-banner-sheet__done{color:var(--bb-ice-blue);cursor:pointer;background:0 0;border:none;font-size:16px;font-weight:600}.weather-banner-sheet__body{padding:16px}.weather-banner__chevron{min-width:var(--bb-touch-compact);min-height:var(--bb-touch-compact)}.page-header{flex-shrink:0;padding:16px 16px 8px}.page-header--flush{padding:0}.page-header__row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.page-header__title{margin:0;font-size:34px;font-weight:800}.page-header__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.day-progress{margin-bottom:12px}.day-progress__label{color:var(--bb-secondary-text);justify-content:space-between;margin:0 2px 6px;font-size:13px;font-weight:700;display:flex}.day-progress__count{color:var(--bb-primary-text)}.day-progress__track{background:var(--bb-sunken);border:1px solid var(--bb-divider);border-radius:999px;height:12px;overflow:hidden}.day-progress__fill{border-radius:inherit;background:repeating-linear-gradient(-45deg, transparent 0 8px, #00000024 8px 16px), linear-gradient(90deg, var(--bb-accent), var(--bb-yellow-fill));height:100%;transition:width .7s cubic-bezier(.3,1.2,.5,1),background .4s}.day-progress--complete .day-progress__fill{background:var(--bb-success)}.day-progress--complete .day-progress__label span:first-child{color:var(--bb-success)}@media (prefers-reduced-motion:reduce){.day-progress__fill{transition:none}}.day-complete{background:var(--bb-card-background);text-align:center;border-radius:14px;margin:0 16px 14px;padding:16px;animation:.4s ease-out both bb-fade-up}.day-complete__title{font-family:var(--bb-font-display);color:var(--bb-success);margin:0;font-size:30px;font-weight:700}.day-complete__sub,.day-complete__next{color:var(--bb-secondary-text);margin:4px 0 0;font-size:14px}.day-complete__chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 4px;display:flex}.day-complete__next{margin-top:10px}.empty-state{border:2px dashed var(--bb-divider);text-align:center;border-radius:14px;margin:0 16px 16px;padding:24px 16px}.empty-state__icon{margin-bottom:8px;font-size:34px;line-height:1}.empty-state__title{color:var(--bb-primary-text);margin:0;font-size:17px;font-weight:700}.empty-state__text{color:var(--bb-secondary-text);margin:6px 0 0;font-size:14px}.empty-state .bb-valve-button,.empty-state .bb-pill-button{margin-top:14px}.todays-jobs{flex-direction:column;height:100%;display:flex;position:relative}.todays-jobs__view-switcher{margin:10px 0 12px}.todays-jobs__list{flex:1;overflow-y:auto}.todays-jobs__day-heading{color:var(--bb-secondary-text);margin:16px 16px 8px;font-size:15px;font-weight:700}.todays-jobs__help-button{font-family:inherit;font-size:18px;font-weight:700}.todays-jobs__slot{grid-template-rows:1fr;display:grid}.todays-jobs__slot-inner{min-height:0;overflow:hidden}.todays-jobs__slot--leaving{animation:.26s ease-in .36s forwards todays-jobs-collapse}.todays-jobs__slot--leaving .job-card{box-shadow:inset 4px 0 0 var(--bb-success);animation:.38s cubic-bezier(.5,0,.75,0) forwards todays-jobs-slide}@keyframes todays-jobs-slide{to{opacity:0;transform:translate(110%)}}@keyframes todays-jobs-collapse{to{grid-template-rows:0fr}}.todays-jobs__done-toggle{width:calc(100% - 32px);min-height:var(--bb-touch);border:1px dashed var(--bb-border);color:var(--bb-success);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:8px;margin:0 16px 12px;padding:0 14px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.todays-jobs__done-chevron{color:var(--bb-secondary-text);margin-left:auto}.todays-jobs__done-card{opacity:.75}@media (prefers-reduced-motion:reduce){.todays-jobs__slot--leaving,.todays-jobs__slot--leaving .job-card{animation-duration:1ms;animation-delay:0s}}.todays-jobs__day-heading--today{color:var(--bb-primary-text);font-size:17px}.todays-jobs__empty{background:var(--bb-card-background);color:var(--bb-secondary-text);text-align:center;border-radius:12px;margin:0 16px 16px;padding:16px;font-size:15px}.todays-jobs__earlier-toggle{width:calc(100% - 32px);min-height:var(--bb-touch);border:1px solid var(--bb-border);color:var(--bb-secondary-text);cursor:pointer;background:0 0;border-radius:12px;align-items:center;gap:8px;margin:8px 16px 12px;padding:0 14px;font-family:inherit;font-size:15px;font-weight:700;display:flex}.todays-jobs__greeting{color:var(--bb-secondary-text);margin:8px 0 0;font-size:15px;font-weight:600}.onboarding{background:var(--bb-background);height:100dvh;color:var(--bb-primary-text);flex-direction:column;display:flex}.onboarding__header{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px;display:flex}.onboarding__header-spacer{width:1px}.onboarding__content{flex:1;padding:8px 24px 24px;overflow-y:auto}.onboarding__step{flex-direction:column;gap:8px;min-height:100%;display:flex}.onboarding__step--centered{text-align:center;justify-content:center;align-items:center;gap:16px}.onboarding__step h1{margin:0;font-size:26px;font-weight:800}.onboarding__step p{color:var(--bb-secondary-text);margin:0;font-size:15px;line-height:1.4}.onboarding__card{background:var(--bb-card-background);border-radius:12px;margin-top:12px;padding:4px 16px}.onboarding__field{border-top:1px solid var(--bb-divider);flex-direction:column;align-items:stretch;gap:6px;padding:10px 0;display:flex}.onboarding__field:first-child{border-top:none}.onboarding__field span{color:var(--bb-secondary-text);flex-shrink:0;font-size:15px}.onboarding__field input{background:var(--bb-sunken);border:1px solid var(--bb-border);color:var(--bb-primary-text);text-align:left;border-radius:8px;flex:1;min-width:0;min-height:44px;padding:10px 12px;font-size:16px}.onboarding__field input:focus{border-color:var(--bb-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--bb-accent) 30%, transparent);outline:none}.onboarding__field input::placeholder{color:var(--bb-secondary-text)}.onboarding__divider{border-top:1px solid var(--bb-divider);margin:4px 0}.onboarding__footer{flex-shrink:0;padding:16px 24px}.onboarding__dots{gap:8px;display:flex}.onboarding__dot{background:var(--bb-border);border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.onboarding__dot--done{background:var(--bb-accent);opacity:.55}.onboarding__dot--current{background:var(--bb-accent);transform:scale(1.4)}.onboarding__step h1{font-family:var(--bb-font-display);font-size:34px;font-weight:700}.onboarding__hint{margin:0 0 10px!important;font-size:13px!important}.onboarding__gaps{background:var(--bb-card-background);text-align:left;color:var(--bb-primary-text);border-radius:12px;align-self:stretch;margin-top:8px;padding:14px 16px;font-size:14px}.onboarding__gaps ul{color:var(--bb-secondary-text);margin:6px 0 0;padding-left:20px}.pin-pad{flex-direction:column;align-items:center;gap:20px;display:flex}.pin-pad__dots{gap:16px;display:flex}.pin-pad__dot{border:1.5px solid var(--bb-secondary-text);background:0 0;border-radius:50%;width:14px;height:14px}.pin-pad__dot--filled{background:var(--bb-primary-text);border-color:var(--bb-primary-text)}.pin-pad__error{color:var(--bb-accent);min-height:18px;margin:0;font-size:14px;font-weight:600}.pin-pad__keys{grid-template-columns:repeat(3,64px);gap:16px;display:grid}.pin-pad__key{background:var(--bb-card-background);width:64px;height:64px;color:var(--bb-primary-text);cursor:pointer;border:none;border-radius:50%;font-size:22px;font-weight:600}.pin-pad__key--empty{cursor:default;background:0 0}.pin-pad__key:active:not(:disabled){background:var(--bb-steel)}.lock-screen{background:var(--bb-background);height:100dvh;color:var(--bb-primary-text);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px;display:flex}.lock-screen__title{margin:16px 0 0;font-size:24px;font-weight:800}.lock-screen__subtitle{color:var(--bb-secondary-text);margin:0 0 28px;font-size:14px}.login{background:var(--bb-background);height:100dvh;color:var(--bb-primary-text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px;display:flex}.login__title{margin:16px 0 0;font-size:24px;font-weight:800}.login__subtitle{color:var(--bb-secondary-text);max-width:320px;margin:0 0 28px;font-size:14px}.login__form{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.login__input{background:var(--bb-card-background);color:var(--bb-primary-text);border:none;border-radius:10px;padding:14px 16px;font-size:15px}.login__input::placeholder{color:var(--bb-secondary-text)}.login__input:focus{outline:2px solid var(--bb-accent)}.login__error{color:var(--bb-accent);margin:0;font-size:14px;font-weight:600}.login__badge{background:color-mix(in srgb, var(--bb-accent) 16%, transparent);width:88px;height:88px;color:var(--bb-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.login__title{font-family:var(--bb-font-display);margin:18px 0 10px;font-size:44px;font-weight:700;line-height:1}.login__stripe{background:linear-gradient(90deg, var(--bb-accent), var(--bb-yellow-fill));border-radius:2px;width:120px;height:4px;margin-bottom:14px}.login__subtitle{margin-bottom:24px}.login__input{min-height:52px;font-size:16px}.login__password{display:flex;position:relative}.login__password .login__input{flex:1;min-width:0;padding-right:72px}.login__reveal{min-width:64px;min-height:44px;color:var(--bb-accent);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:700;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login__offline{background:color-mix(in srgb, var(--bb-safety-yellow) 20%, transparent);max-width:320px;color:var(--bb-primary-text);border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:13px;font-weight:600}.login .bb-ghost-button{min-height:var(--bb-touch);margin-top:8px}.confirm-overlay{z-index:500;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--bb-card-background);border-radius:14px;width:100%;max-width:340px;padding:20px;box-shadow:0 12px 40px #00000080}.confirm-dialog h3{margin:0 0 8px;font-size:18px}.confirm-dialog p{color:var(--bb-secondary-text);margin:0 0 8px;font-size:14px;line-height:1.4}.confirm-dialog .confirm-dialog__note{color:var(--bb-safety-yellow)}.confirm-dialog__buttons{gap:10px;margin-top:16px;display:flex}.confirm-dialog__buttons button{cursor:pointer;border:none;border-radius:10px;flex:1;padding:12px;font-family:inherit;font-size:15px;font-weight:700}.confirm-dialog__cancel{background:var(--bb-steel);color:var(--bb-primary-text)}.confirm-dialog__confirm{background:var(--bb-accent);color:var(--bb-on-accent)}.confirm-dialog__confirm--danger{background:var(--bb-alert-red)}.splash{z-index:1000;background:linear-gradient(color-mix(in srgb, var(--bb-divider) 55%, transparent) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, color-mix(in srgb, var(--bb-divider) 55%, transparent) 1px, transparent 1px) 0 0 / 28px 28px, var(--bb-background);color:var(--bb-primary-text);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:fixed;inset:0}.splash--leaving{opacity:0;pointer-events:none}:root[data-theme=dark] .splash{background:radial-gradient(circle at 50% 42%,#6b707a 0%,#4d515a 50%,#30343c 100%)}.splash__content{flex-direction:column;align-items:center;gap:14px;display:flex}.splash__gauge{width:min(70vw, 420px, calc((100dvh - var(--splash-reserve,160px)) * .714));filter:drop-shadow(0 10px 18px #00000059);max-width:none;height:auto;animation:.45s ease-out both splash-in}.splash__bezel{fill:#16181b;stroke:#3a3f46;stroke-width:2px}.splash__bezel-lip{fill:#0d0e10}.splash__screw circle{fill:#9aa1a9;stroke:#5b6168;stroke-width:1px}.splash__screw path{stroke:#3d4248;stroke-width:1.6px;stroke-linecap:round}.splash__face{fill:#fbfbf9}.splash__scale{stroke:#111;stroke-linecap:butt}.splash__stop{fill:#111}.splash__label,.splash__number{fill:#111;text-anchor:middle;font-family:Helvetica,Arial,sans-serif}.splash__label{font-size:15px;font-weight:700}.splash__label--small{font-size:12px;font-weight:600}.splash__number{font-size:14px;font-weight:600}.splash__number--kpa{font-size:11px;font-weight:500}.splash__manifold{fill:#1c1f23}.splash__brass{fill:#b8913a}.splash__brass-knurl{stroke:#8a6a22;stroke-width:2px}.splash__hose{fill:var(--hose)}.splash__knob--red{--knob:#d42a22;--knob-dark:#9e1a14;--hose:#c7241c}.splash__knob--yellow{--knob:#ffd21a;--knob-dark:#d9a800;--hose:#e8b90f}.splash__knob-stem{fill:var(--knob);stroke:var(--knob-dark);stroke-width:1.5px}.splash__knob--blue{--knob:#1f56b8;--knob-dark:#123a82;--hose:#1d4fae}.splash__knob-grip{fill:var(--knob-dark)}.splash__knob-ridge{stroke:var(--knob);stroke-width:2.6px}.splash__knob-cap{fill:var(--knob);stroke:var(--knob-dark);stroke-width:2px}.splash__knob-shine{fill:#fff;opacity:.18}.splash__line-bezel{fill:#16181b;stroke:#3a3f46;stroke-width:2px}.splash__line-tick{stroke:#111}.splash__line-number{fill:#111;text-anchor:middle;font-family:Helvetica,Arial,sans-serif;font-size:8.5px;font-weight:700}.splash__line-number--unit{font-size:11px}.splash__line-needle{fill:#0d0d0d;transform-box:view-box;animation:2.6s cubic-bezier(.3,.7,.3,1) .4s forwards splash-line-needle;transform:rotate(-135deg)}.splash__dot{fill:#111}.splash__needle{fill:#0d0d0d;transform-box:view-box;transform-origin:200px 289px;animation:3.5s linear .3s forwards splash-needle;transform:rotate(-50deg)}.splash__hub{fill:#0d0d0d}.splash__hub-cap{fill:#c9ced4;stroke:#7c838b;stroke-width:1px}.splash__name{font-family:var(--bb-font-display);letter-spacing:.02em;margin:0;font-size:clamp(44px,7vw,64px);font-weight:700;line-height:1;animation:.7s ease-out 3.3s both splash-rise}.splash__stripe{background:linear-gradient(90deg, var(--bb-accent), var(--bb-yellow-fill));transform-origin:0;border-radius:3px;width:140px;height:5px;animation:.7s ease-out 3.8s both splash-grow}.splash__skip{bottom:max(24px, env(safe-area-inset-bottom));color:var(--bb-secondary-text);margin:0;font-size:13px;position:absolute}@keyframes splash-in{0%{opacity:0;transform:scale(.9)}}@keyframes splash-needle{0%{animation-timing-function:cubic-bezier(.25,.6,.4,1);transform:rotate(-50deg)}30%{animation-timing-function:cubic-bezier(.45,0,.55,1);transform:rotate(20deg)}to{transform:rotate(-15deg)}}@keyframes splash-line-needle{0%{transform:rotate(-135deg)}to{transform:rotate(-40deg)}}@keyframes splash-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes splash-grow{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.splash__gauge,.splash__name,.splash__stripe{animation:none}.splash__needle{animation:none;transform:rotate(-15deg)}.splash__line-needle{animation:none;transform:rotate(-40deg)}}@media (height<=480px){.splash{--splash-reserve:110px}.splash__name{font-size:36px}.splash__skip{display:none}}
