.home{background:var(--color-brand-green)}.home__bar .mobile-app-bar__logo{max-width:min(10rem,42vw);height:auto;max-height:2.75rem;object-fit:contain}.home__main{padding:1.25rem var(--space-screen-x) var(--space-screen-bottom);background:var(--color-surface);border-radius:24px 24px 0 0;margin-top:-1px;flex:1}.home__main h1{margin:0 0 1rem;font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.home__filters{display:flex;gap:.5rem;margin-bottom:1.25rem;padding:.25rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.home__filter{flex:1;display:flex;flex-direction:column;align-items:center;gap:.125rem;min-height:2.75rem;padding:.5rem .375rem;border:none;border-radius:10px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.home__filter--active{background:var(--color-surface);color:var(--color-brand-green-darker);box-shadow:0 1px 3px #0f172a14}.home__filter-count{font-size:.6875rem;font-weight:700;opacity:.85}.home__status{margin:0 0 1rem;color:var(--color-text-muted);font-size:.9375rem}.home__hint{margin:0;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.9375rem;line-height:1.5}.home__jobs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.home__jobs>li{margin:0;padding:0;list-style:none}.home__job-card{margin:0;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.home__job-card--pending{border-color:#f59e0b;background:#fef3c7}.home__job-card--accepted{border-color:#3b82f6;background:#dbeafe}.home__job-card--rejected{border-color:#ef4444;background:#fee2e2}.home__job-card--aborted{border-color:#dc2626;background:#fef2f2}.home__job-card--completed{border-color:#7dbf4473;background:#7dbf4414}.home__job-card--action{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none}.home__job-card--action.home__job-card--pending:active{background:#fde68a}.home__job-card--action.home__job-card--accepted:active{background:#bfdbfe}.home__job-card--action.home__job-card--rejected:active{background:#fecaca}.home__job-card--action.home__job-card--aborted:active{background:#fee2e2}.home__job-card--action.home__job-card--completed:active{background:#7dbf4424}.home__job-hint{margin:.5rem 0 0;font-size:.75rem;font-weight:600;color:var(--color-brand-green-darker)}.home__job-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.35}.home__job-meta{margin:0 0 .25rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.home__job-meta span{font-weight:600;color:var(--color-text)}.home__job-badge{display:inline-block;margin:.5rem 0 0;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600}.home__job-badge--pending{background:#fff;color:#b45309;box-shadow:inset 0 0 0 1px #f59e0b59}.home__job-badge--accepted{background:#fff;color:#1d4ed8;box-shadow:inset 0 0 0 1px #3b82f659}.home__job-badge--rejected{background:#fff;color:#991b1b;box-shadow:inset 0 0 0 1px #ef444459}.home__job-badge--aborted{background:#fff;color:#991b1b;box-shadow:inset 0 0 0 1px #dc262659}.home__job-badge--completed{background:#fff;color:var(--color-brand-green-darker);box-shadow:inset 0 0 0 1px #7dbf4459}.home__job-visits{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.home__job-visit{margin:0;padding:.75rem;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg)}.home__job-visit--pending{border-color:#f59e0b;background:#fef3c7}.home__job-visit--accepted{border-color:#3b82f6;background:#dbeafe}.home__job-visit--rejected{border-color:#ef4444;background:#fee2e2}.home__job-visit--completed{border-color:#7dbf4473;background:#7dbf4414}.home__job-visit--action{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none}.home__job-visit--action:active{filter:brightness(.97)}.home__job-visit-date{margin:0;font-size:.875rem;font-weight:600;color:var(--color-text);line-height:1.4}.home__job-visit-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.home__job-visit-row .home__job-visit-date{flex:1;min-width:0}.home__job-visit-row .home__job-badge{margin:0;flex-shrink:0}.job-abort.mobile-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0;height:100dvh;height:100svh;overflow:hidden;box-sizing:border-box;width:100%;background:var(--color-brand-green)}.job-abort__bar{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.job-abort__back{justify-self:start}.job-abort__bar-spacer{width:2.5rem}.job-abort__main{flex:1 1 0;height:0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:1.25rem var(--space-screen-x) var(--space-screen-bottom);background:var(--color-surface);border-radius:24px 24px 0 0;margin-top:-1px}.job-abort__summary{margin-bottom:1.25rem;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-abort__title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.35}.job-abort__meta{margin:0 0 .25rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.job-abort__meta span{font-weight:600;color:var(--color-text)}.job-abort__badge{display:inline-block;margin:.5rem 0 0;padding:.25rem .625rem;border-radius:6px;background:#7dbf4433;color:var(--color-brand-green-darker);font-size:.75rem;font-weight:600}.job-abort__heading{margin:0 0 .5rem;font-size:1.375rem;font-weight:700;letter-spacing:-.03em}.job-abort__intro{margin:0 0 1.25rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.job-abort__form{display:flex;flex-direction:column;gap:1.25rem}.job-abort__field{display:flex;flex-direction:column;gap:.5rem}.job-abort__label{font-size:.875rem;font-weight:600}.job-abort__textarea{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);font:inherit;font-size:1rem;line-height:1.4;resize:vertical;min-height:6rem;box-sizing:border-box}.job-abort__error{padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-abort__submit{width:100%}.job-abort__submit-btn{background:#fff;color:#b91c1c;border:1.5px solid #fecaca;font-weight:600}.job-abort__submit-btn:disabled{opacity:.6}.before-photo__hint{margin:0 0 1rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.before-photo__error{margin-bottom:1rem;padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.before-photo__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.before-photo__capture{display:flex;width:100%}.before-photo__preview-wrap{display:flex;flex-direction:column;gap:.75rem}.before-photo__preview{width:100%;max-height:16rem;object-fit:cover;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg)}.before-photo__actions{display:flex;flex-direction:column;gap:.75rem}.before-photo__btn{width:100%;min-height:var(--touch-min)}.before-photo__btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.before-photo__btn--primary{border:none}.before-photo__btn--danger{background:#991b1b;color:#fff;border:none}.before-photo__confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-end;justify-content:center}.before-photo__confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a8c;cursor:pointer}.before-photo__confirm-panel{position:relative;z-index:1;width:100%;padding:1.25rem var(--space-screen-x) var(--space-screen-bottom);border-radius:20px 20px 0 0;background:var(--color-surface);box-shadow:0 -8px 32px #0f172a33}.before-photo__confirm-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.before-photo__confirm-message{margin:0 0 .75rem;font-size:.9375rem;line-height:1.5;color:var(--color-text)}.before-photo__confirm-detail{margin:0 0 .75rem;padding:.625rem .75rem;border-radius:8px;background:#f59e0b1f;color:#b45309;font-size:.875rem;line-height:1.45}.before-photo__confirm-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.signature-pad{position:relative;width:100%;min-height:11rem;height:11rem;border-radius:10px;border:1.5px dashed var(--color-border);background:#fff;touch-action:none;overflow:hidden;box-sizing:border-box}.signature-pad__hint{position:absolute;left:50%;bottom:1.75rem;transform:translate(-50%);font-size:.875rem;color:var(--color-text-muted);pointer-events:none;-webkit-user-select:none;user-select:none}.signature-pad__canvas{position:relative;z-index:1;display:block;width:100%;height:100%;cursor:crosshair;background:transparent}.signature-pad--framed{border-style:solid;border-width:1px}.job-customer-form{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;width:100%;background:var(--color-surface);padding-bottom:env(safe-area-inset-bottom,0px)}.job-customer-form__bar{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.job-customer-form__back{justify-self:start}.job-customer-form__bar-spacer{width:2.5rem}.job-customer-form__main{flex:1 1 0;height:0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:.875rem var(--space-screen-x) 1rem;background:var(--color-surface);border-radius:24px 24px 0 0;margin-top:-1px}.job-customer-form__summary{margin-bottom:.875rem;padding:.75rem 1rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-customer-form__title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.job-customer-form__heading{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}.job-customer-form__job-line{margin:0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-customer-form__signed-badge{flex-shrink:0;padding:.125rem .5rem;border-radius:6px;background:#7dbf4433;color:var(--color-brand-green-darker);font-size:.6875rem;font-weight:600;line-height:1.4}.job-customer-form__form{display:flex;flex-direction:column;gap:1rem}.job-customer-form__empty{margin:0;padding:.875rem 1rem;border-radius:10px;background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.875rem}.job-customer-form__field{display:flex;flex-direction:column;gap:.5rem}.job-customer-form__label{margin:0;font-size:.875rem;font-weight:600}.job-customer-form__select,.job-customer-form__input{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:#fff;font:inherit;font-size:1rem;line-height:1.4;box-sizing:border-box}.job-customer-form__read-only-value{margin:0;padding:.75rem 1rem;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border);font-size:1rem;line-height:1.4}.job-customer-form__decision-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.job-customer-form__decision-btn{margin:0;padding:.875rem 1rem;border-radius:10px;font:inherit;font-size:1rem;font-weight:600;line-height:1.25;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.job-customer-form__decision-btn:disabled{opacity:.6;cursor:not-allowed}.job-customer-form__decision-btn--accept{background:#fff;color:var(--color-brand-green-darker);border:1.5px solid rgba(125,191,68,.45)}.job-customer-form__decision-btn--accept.job-customer-form__decision-btn--selected{background:var(--color-brand-green);color:#fff;border-color:var(--color-brand-green-darker)}.job-customer-form__decision-btn--reject{background:#fff;color:#b91c1c;border:1.5px solid #fecaca}.job-customer-form__decision-btn--reject.job-customer-form__decision-btn--selected{background:#b91c1c;color:#fff;border-color:#991b1b}.job-customer-form__decision-badge{margin:0;display:inline-block;padding:.5rem .875rem;border-radius:8px;font-size:.875rem;font-weight:600;line-height:1.3}.job-customer-form__decision-badge--accept{background:#7dbf4426;color:var(--color-brand-green-darker);border:1px solid rgba(125,191,68,.35)}.job-customer-form__decision-badge--reject{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.job-customer-form__description{padding:1rem 1.125rem;border-radius:12px;background:#fff;border:1px solid var(--color-border);box-shadow:0 1px 2px #0f172a0a;max-height:min(42vh,18rem);overflow-y:auto;-webkit-overflow-scrolling:touch}.job-customer-form__description-title{margin:0 0 .75rem;padding-bottom:.625rem;border-bottom:1px solid var(--color-border);font-size:1rem;font-weight:700;line-height:1.35;color:var(--color-text)}.job-customer-form__description-text{margin:0;font-size:1rem;line-height:1.65;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.job-customer-form__description-empty{margin:0;font-size:.9375rem;font-style:italic;color:var(--color-text-muted)}.job-customer-form__signature-box{width:100%}.job-customer-form__saved-signature{padding:.875rem 1rem;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border)}.job-customer-form__saved-signature--compact{margin-bottom:.25rem}.job-customer-form__saved-signature-label{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.job-customer-form__saved-signature-image{display:block;width:100%;max-height:8rem;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--color-border)}.job-customer-form__saved-signature-meta{margin:.5rem 0 0;font-size:.75rem;color:var(--color-text-muted)}.job-customer-form__signature-empty{margin:0;padding:.875rem 1rem;border-radius:10px;background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.875rem}.job-customer-form__clear,.job-customer-form__submit{width:100%}.job-customer-form__error{padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-customer-form__success{padding:.75rem 1rem;border-radius:10px;background:#7dbf441f;border:1px solid rgba(125,191,68,.35);color:var(--color-brand-green-darker);font-size:.875rem;font-weight:600}.job-variations{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.job-variations__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.job-variations__title{margin:0;font-size:1rem;font-weight:600}.job-variations__add{flex-shrink:0;font-size:.75rem;padding:.375rem .625rem}.job-variations__empty{margin:0;padding:.875rem 1rem;border-radius:10px;background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.875rem}.job-variations__error{margin:0 0 .75rem;padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-variations__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.job-variations__item{padding:.875rem 1rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-variations__text{margin:0;font-size:.9375rem;line-height:1.45;white-space:pre-wrap}.job-variations__meta{margin:.5rem 0 0;font-size:.75rem;color:var(--color-text-muted)}.job-variations__remove{margin-top:.625rem;font-size:.75rem;padding:.25rem .5rem;color:#991b1b}.variation-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.variation-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#00000073;cursor:pointer}.variation-modal__panel{position:relative;width:100%;max-width:32rem;max-height:min(85dvh,32rem);display:flex;flex-direction:column;border-radius:20px 20px 0 0;background:var(--color-surface);box-shadow:0 -8px 32px #0000002e}.variation-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--color-border)}.variation-modal__title{margin:0;font-size:1.125rem;font-weight:700}.variation-modal__close{flex-shrink:0;font-size:.75rem}.variation-modal__form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;overflow-y:auto}.variation-modal__label{font-size:.875rem;font-weight:600}.variation-modal__textarea{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);font:inherit;font-size:1rem;line-height:1.4;resize:vertical;min-height:8rem;box-sizing:border-box}.variation-modal__error{padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.variation-modal__actions{display:flex;flex-direction:column;gap:.625rem}.variation-modal__btn{width:100%}.job-checklist__intro{margin:0 0 1rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.job-checklist__progress{margin:0 0 .75rem;padding:.625rem .875rem;border-radius:8px;background:#7dbf441f;color:var(--color-brand-green-darker);font-size:.8125rem;font-weight:600}.job-checklist__progress--muted{background:var(--color-bg);color:var(--color-text-muted);border:1px dashed var(--color-border);font-weight:500}.job-checklist__error{margin:0 0 .75rem;padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-checklist__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.job-checklist__item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;background:#fff;border:1px solid var(--color-border)}.job-checklist__item-text{flex:1;min-width:0;margin:0;font-size:.9375rem;line-height:1.45;font-weight:500}.job-checklist__mark{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin:0;padding:0;border-radius:50%;border:2px solid var(--color-border);background:#fff;color:#fff;font-size:.9375rem;font-weight:700;line-height:1;cursor:pointer}.job-checklist__mark--done{border-color:var(--color-brand-green);background:var(--color-brand-green)}button.job-checklist__mark:disabled{opacity:.6;cursor:not-allowed}span.job-checklist__mark{cursor:default}.job-customer-form-link{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.job-customer-form-link__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.job-customer-form-link__title{margin:0;font-size:1rem;font-weight:600}.job-customer-form-link__open{flex-shrink:0;font-size:.75rem;padding:.375rem .625rem;text-decoration:none}.job-customer-form-link__hint{margin:0;font-size:.8125rem;color:var(--color-text-muted)}.job-materials__intro{margin:0 0 1rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.45}.job-materials__empty{margin:0 0 1.25rem;padding:.875rem 1rem;border-radius:10px;background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.875rem}.job-materials__list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.job-materials__item{display:flex;flex-direction:column;gap:.75rem;padding:.875rem 1rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-materials__item-desc{margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.job-materials__item-meta{margin:.375rem 0 0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.job-materials__item-meta span{font-weight:600;color:var(--color-text)}.job-materials__item-notes{margin:.5rem 0 0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.45;white-space:pre-wrap}.job-materials__item-actions{display:flex;gap:.5rem}.job-materials__action{font-size:.8125rem;padding:.375rem .625rem}.job-materials__action--danger{color:#991b1b}.job-materials__form{display:flex;flex-direction:column;gap:1rem;padding:1rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-materials__form-title{margin:0;font-size:1rem;font-weight:600}.job-materials__field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.job-materials__row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.job-materials__label{font-size:.8125rem;font-weight:600}.job-materials__input,.job-materials__textarea{width:100%;padding:.75rem .875rem;border-radius:10px;border:1px solid var(--color-border);font:inherit;font-size:1rem;line-height:1.4;box-sizing:border-box}.job-materials__textarea{resize:vertical;min-height:4.5rem}.job-materials__error{padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-materials__form-actions{display:flex;flex-direction:column;gap:.625rem}.job-materials__btn{width:100%}.job-item-photo-icons{display:flex;flex-wrap:nowrap;gap:.375rem}.job-item-photo-icons__icon{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.125rem;min-width:2.75rem;padding:.3125rem .375rem .25rem;border-radius:10px;border:1px solid transparent}.job-item-photo-icons__camera{width:1.125rem;height:1.125rem}.job-item-photo-icons__kind{font-size:.625rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1}.job-item-photo-icons__check{position:absolute;top:.1875rem;right:.1875rem;display:flex;align-items:center;justify-content:center;width:.875rem;height:.875rem;border-radius:50%;font-size:.5625rem;font-weight:700;line-height:1;border:1.5px solid #fff}.job-item-photo-icons__icon--not-required{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}.job-item-photo-icons__icon--pending{background:#f59e0b1f;border-color:#fcd34d;color:#b45309}.job-item-photo-icons__icon--pending .job-item-photo-icons__check{display:none}.job-item-photo-icons__icon--done{background:#7dbf441f;border-color:#7dbf4473;color:var(--color-brand-green-darker)}.job-item-photo-icons__icon--done .job-item-photo-icons__check{background:var(--color-brand-green);color:#fff}.job-stages{display:flex;flex-direction:column;flex:1 1 0;min-height:0}.job-stages__header{display:flex;gap:.5rem;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.job-stages__header::-webkit-scrollbar{display:none}.job-stages__step{flex:1 0 5.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.125rem;min-height:2.75rem;padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-text-muted);font:inherit;font-size:.6875rem;font-weight:600;text-align:left;cursor:pointer;touch-action:manipulation}.job-stages__step--active{border-color:var(--color-brand-green);background:#7dbf441f;color:var(--color-brand-green-darker)}.job-stages__step--locked{opacity:.45;cursor:not-allowed}.job-stages__step-index{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.job-stages__step-title{font-size:.75rem;line-height:1.25}.job-stages__step-done{font-size:.625rem;color:var(--color-brand-green-darker)}.job-stages__track{display:flex;flex:1 1 0;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}.job-stages__track--scroll-locked{overflow-x:hidden;touch-action:pan-y;overscroll-behavior-x:none}.job-stages__track::-webkit-scrollbar{display:none}.job-stages__panel{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;min-height:0;overflow:hidden}.job-stages__panel-inner{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 .375rem .5rem;box-sizing:border-box}.job-stages__nav{flex-shrink:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin-top:0;padding:1rem 0 max(1rem,env(safe-area-inset-bottom,1rem));border-top:1px solid var(--color-border);background:var(--color-surface)}.job-stages__nav-label{margin:0;text-align:center;font-size:.75rem;color:var(--color-text-muted);line-height:1.35}.job-stages__nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.job-details.mobile-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0;height:100dvh;height:100svh;overflow:hidden;box-sizing:border-box;background:var(--color-brand-green)}.job-details__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.job-details__back{justify-self:start}.job-details__bar-actions{justify-self:end;display:flex;align-items:center;gap:.375rem;max-width:100%}.job-details__reset-test{font-size:.6875rem;padding:.375rem .5rem;opacity:.9;flex-shrink:0}.job-details__abort.mobile-app-bar__btn{font-size:.6875rem;padding:.375rem .5rem;flex-shrink:0;color:#fff;background:#dc2626;border-color:#b91c1c}.job-details__abort.mobile-app-bar__btn:active{background:#b91c1c;border-color:#991b1b}.job-details__bar-spacer{justify-self:end;width:4.5rem}.job-details__read-only-notice{margin:0 0 1rem;padding:.625rem .875rem;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem;line-height:1.45}.job-details__photo-missing{margin:.75rem 0 0;padding:.75rem 1rem;border-radius:10px;background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.875rem;line-height:1.45}.job-details__photo-locked{margin:.75rem 0 0;padding:.75rem 1rem;border-radius:10px;background:#7dbf441a;border:1px solid rgba(125,191,68,.35);color:var(--color-brand-green-darker);font-size:.875rem;line-height:1.45;font-weight:600}.job-details__main{flex:1 1 0;height:0;min-height:0;padding:1.25rem var(--space-screen-x) 0;background:var(--color-surface);border-radius:24px 24px 0 0;margin-top:-1px}.job-details__main--stages{display:flex;flex-direction:column;overflow:hidden}.job-details__stage-head{flex-shrink:0}.job-details__loading{margin:0;color:var(--color-text-muted);font-size:.9375rem}.job-details__heading-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.job-details__heading{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.03em;min-width:0}.job-details__card{margin-bottom:1.5rem;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-details__title{margin:0 0 .5rem;font-size:1rem;font-weight:600}.job-details__meta{margin:0 0 .25rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.job-details__meta span{font-weight:600;color:var(--color-text)}.job-details__block{margin:.75rem 0 0;font-size:.875rem;line-height:1.5;color:var(--color-text-muted)}.job-details__block--important{padding:.75rem .875rem;border-radius:8px;border:1px solid rgba(125,191,68,.3);background:#7dbf4414}.job-details__block--important .job-details__label{color:var(--color-brand-green-darker)}.job-details__label{display:block;margin-bottom:.25rem;font-weight:600;color:var(--color-text)}.job-details__badge{display:inline-block;margin:0;padding:.25rem .625rem;border-radius:6px;background:#7dbf4433;color:var(--color-brand-green-darker);font-size:.75rem;font-weight:600;flex-shrink:0}.job-details__section{margin-bottom:1.5rem}.job-details__section h2{margin:0 0 .75rem;font-size:1.125rem;font-weight:700}.job-details__before-done{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-details__before-thumb{width:4rem;height:4rem;object-fit:cover;border-radius:8px;flex-shrink:0}.job-details__before-thumb--large{width:100%;max-width:100%;height:auto;max-height:14rem}.job-details__overview-photo{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.job-details__overview-photo-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;border-radius:12px;text-align:left;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.job-details__overview-photo-btn--pending{border:1px dashed var(--color-border);background:#f1f5f9;color:#64748b}.job-details__overview-photo-btn--pending:active{background:#e8edf3}.job-details__overview-photo-btn--done{border:1px solid rgba(125,191,68,.35);background:#7dbf4414;color:var(--color-brand-green-darker)}.job-details__overview-photo-btn--done:active{background:#7dbf4424}.job-details__overview-photo-text{font-size:.8125rem;font-weight:600;line-height:1.35}.job-details__photo-status{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#e2e8f0;color:#64748b}.job-details__photo-status--done{background:#7dbf4433;color:var(--color-brand-green-darker)}.job-details__camera-icon{width:1.25rem;height:1.25rem}.job-details__photo-check{position:absolute;right:-.125rem;bottom:-.125rem;display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:var(--color-brand-green);color:#fff;font-size:.625rem;font-weight:700;line-height:1;border:2px solid var(--color-surface)}.job-details__empty{margin:0;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.9375rem}.job-details__items-progress{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.job-details__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.job-details__items>li{margin:0;padding:0}.job-details__item{display:block;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-details__item--link{text-decoration:none;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.job-details__item--link:active{background:#f8fafc}.job-details__item--incomplete{background:#f59e0b1a;border-color:#fcd34d;color:#92400e}.job-details__item--incomplete:active{background:#f59e0b29}.job-details__item--incomplete .job-details__item-desc{color:#b45309}.job-details__item--incomplete .job-details__item-notes{color:#d97706}.job-details__item-requirement{margin:.5rem 0 0;font-size:.75rem;font-weight:600;color:#b45309}.job-details__item--complete{border-color:var(--color-brand-green);background:#7dbf4414;color:inherit}.job-details__item-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.job-details__item-body{flex:1;min-width:0}.job-details__item-row .job-item-photo-icons{flex-shrink:0;margin-top:0}.job-details__item-head{display:flex;align-items:flex-start;gap:.625rem}.job-details__item-tick{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--color-brand-green);color:#fff;font-size:.875rem;font-weight:700;line-height:1}.job-details__item-view{margin:.5rem 0 0 2.125rem;font-size:.75rem;font-weight:600;color:var(--color-brand-green-darker)}.job-details__item-desc{margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.job-details__item-notes{margin:.375rem 0 0;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.job-details__photo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}.job-details__photo-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0f172a8c;cursor:pointer}.job-details__photo-modal-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-height:92vh;border-radius:20px 20px 0 0;background:var(--color-surface);box-shadow:0 -8px 32px #0f172a33}.job-details__photo-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem var(--space-screen-x);border-bottom:1px solid var(--color-border)}.job-details__photo-modal-title{margin:0;font-size:1.125rem;font-weight:700}.job-details__photo-modal-close{flex-shrink:0}.job-details__photo-modal-body{overflow-y:auto;padding:1rem var(--space-screen-x) var(--space-screen-bottom)}.job-details__photo-modal-image{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:12px}.job-details__complete-confirm{display:flex;flex-direction:column;gap:1rem}.job-details__complete-hint{margin:0;font-size:.9375rem;line-height:1.5;color:var(--color-text-muted)}.job-details__complete-hint--blocked{padding:.75rem 1rem;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-weight:600}.job-details__card>.job-checklist{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.job-checklist+.job-details__complete-confirm,.job-checklist+.job-details__before-done{margin-top:1.25rem}.job-details__complete-notice{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:#7dbf441f;border:1px solid rgba(125,191,68,.35);color:var(--color-brand-green-darker);font-size:.875rem;font-weight:600;line-height:1.4}.job-details__complete-error{padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.875rem;line-height:1.4}.job-details__confirm-complete{width:100%}.job-item-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box;width:100%;background:var(--color-surface);padding-bottom:env(safe-area-inset-bottom,0px)}.job-item-page__bar{flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.job-item-page__back{justify-self:start}.job-item-page__bar-spacer{width:2.5rem}.job-item-page__main{flex:1 1 0;height:0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:1.25rem var(--space-screen-x) 1.25rem;background:var(--color-surface);border-radius:24px 24px 0 0;margin-top:-1px}.job-item-page__heading{margin:0 0 .5rem;font-size:1.375rem;font-weight:700;letter-spacing:-.03em;line-height:1.3}.job-item-page__notes{margin:0 0 .75rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.job-item-page__requirements{margin:0 0 1rem;padding:.625rem .875rem;border-radius:8px;background:#7dbf441f;color:var(--color-brand-green-darker);font-size:.8125rem;font-weight:600}.job-item-page__form{display:flex;flex-direction:column;gap:1.25rem}.job-item-page__error{padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-item-page__field{display:flex;flex-direction:column;gap:.5rem}.job-item-page__label{font-size:.875rem;font-weight:600}.job-item-page__textarea{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);font:inherit;font-size:1rem;line-height:1.4;resize:vertical;min-height:5rem}.job-item-page__submit{width:100%}.job-item-page__complete-badge{display:inline-block;margin-bottom:.75rem;padding:.25rem .625rem;border-radius:6px;background:#7dbf4433;color:var(--color-brand-green-darker);font-size:.75rem;font-weight:600}.job-item-page__progress-badge{display:inline-block;margin-bottom:.75rem;padding:.25rem .625rem;border-radius:6px;background:#f59e0b26;color:#b45309;font-size:.75rem;font-weight:600}.job-item-page__completed-at{margin:0 0 1.25rem;font-size:.8125rem;color:var(--color-text-muted)}.job-item-page__readonly{display:flex;flex-direction:column;gap:1.25rem}.job-item-page__photo-block{display:flex;flex-direction:column;gap:.5rem}.job-item-page__photo{width:100%;max-height:16rem;object-fit:cover;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg)}.job-item-page__empty-photo{margin:0;padding:1rem;border-radius:12px;background:var(--color-bg);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:.875rem}.job-item-page__comments{margin:0;padding:.75rem 1rem;border-radius:10px;background:var(--color-bg);border:1px solid var(--color-border);font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.job-item-page__comments--empty{color:var(--color-text-muted);font-style:italic}.job-item-photo{margin:0}.job-item-photo__label{margin:0 0 .75rem;font-size:.875rem;font-weight:600}.job-item-photo__required{color:var(--color-brand-green-darker);font-weight:600}.job-item-photo__saved{margin:-.375rem 0 .625rem;font-size:.8125rem;font-weight:600;color:var(--color-brand-green-darker)}.job-item-photo--locked{padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px dashed var(--color-border);opacity:.85}.job-item-photo__locked-hint{margin:0;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.job-visit__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.job-visit__back{justify-self:start}.job-visit__bar-spacer{width:2.5rem}.job-visit__main{flex:1;padding:1.25rem var(--space-screen-x) var(--space-screen-bottom);background:var(--color-surface);border-radius:24px 24px 0 0;margin-top:-1px}.job-visit__summary{margin-bottom:1.25rem;padding:1rem 1.125rem;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.job-visit__title{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.35}.job-visit__meta{margin:0 0 .25rem;font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.job-visit__meta span{font-weight:600;color:var(--color-text)}.job-visit__badge{display:inline-block;margin:.5rem 0 0;padding:.25rem .625rem;border-radius:6px;background:#7dbf4433;color:var(--color-brand-green-darker);font-size:.75rem;font-weight:600}.job-visit__heading{margin:0 0 .5rem;font-size:1.375rem;font-weight:700;letter-spacing:-.03em}.job-visit__intro{margin:0 0 1.25rem;font-size:.9375rem;color:var(--color-text-muted);line-height:1.5}.job-visit__error{margin-bottom:1rem;padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem}.job-visit__actions{display:flex;flex-direction:column;gap:.75rem}.job-visit__btn{width:100%;min-height:var(--touch-min);font-weight:600;border-radius:10px}.job-visit__btn--accept{background:var(--color-brand-green);color:#fff;border:1.5px solid var(--color-brand-green-darker)}.job-visit__btn--reject{background:#fff;color:#b91c1c;border:1.5px solid #fecaca}.job-visit__btn--secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.job-visit__reject-form{display:flex;flex-direction:column;gap:.75rem}.job-visit__label{font-size:.875rem;font-weight:600}.job-visit__textarea{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);font:inherit;font-size:1rem;line-height:1.4;resize:vertical;min-height:6rem}.job-visit__form-actions{display:flex;flex-direction:column;gap:.75rem}.ios-banner{position:relative;flex-shrink:0;width:100%;margin:0 0 .75rem;padding:.75rem 2.5rem .75rem 1rem;border-radius:12px;background:var(--color-brand-green-darker);color:#fff;font-size:.8125rem;line-height:1.45}.ios-banner p{margin:0}.ios-banner__close{position:absolute;top:.25rem;right:.25rem;border:none;background:transparent;color:#fff;font-size:1.5rem;line-height:1;padding:0;cursor:pointer;opacity:.85}.ios-banner__close:active{opacity:1}.login{background:var(--color-brand-green)}.login__hero{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:var(--space-screen-top) var(--space-screen-x) 1.5rem;background:var(--color-brand-green)}.login__header{text-align:center;margin:0}.login__logo{display:block;width:auto;max-width:min(14rem,72vw);height:auto;object-fit:contain}.login__body{flex:1;display:flex;flex-direction:column;min-height:0;padding:1.75rem var(--space-screen-x) var(--space-screen-bottom);background:var(--color-surface);border-radius:24px 24px 0 0;box-shadow:0 -4px 24px #0f172a14}.login__title{margin:0 0 .25rem;font-size:1.625rem;font-weight:700;letter-spacing:-.03em;color:var(--color-text)}.login__subtitle{margin:0 0 1.75rem;font-size:1rem;color:var(--color-text-muted)}.login__form{flex:1;display:flex;flex-direction:column;gap:1.125rem;min-height:0}.login__error{padding:.875rem 1rem;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:.9375rem;font-weight:500;line-height:1.4}.login__field{display:flex;flex-direction:column;gap:.5rem}.login__field label{font-size:.875rem;font-weight:600}.login__password-wrap{position:relative}.login__password-wrap .mobile-input{padding-right:4.25rem}.login__toggle-password{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--color-brand-green-darker);font-size:.875rem;font-weight:600;cursor:pointer;border-radius:8px}.login__actions{margin-top:auto;padding-top:1.5rem}.login__submit{border-radius:12px}:root{--mobile-max-width: 100%;--touch-min: 48px;--space-screen-x: max(1rem, env(safe-area-inset-left), env(safe-area-inset-right));--space-screen-top: max(.75rem, env(safe-area-inset-top));--space-screen-bottom: max(1rem, env(safe-area-inset-bottom));--app-header-height: 3.5rem}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}#root{min-height:100dvh;min-height:100svh}.mobile-app{width:100%;max-width:var(--mobile-max-width);min-height:100dvh;min-height:100svh;margin:0 auto;background:transparent;position:relative;overflow-x:hidden}.mobile-screen{display:flex;flex-direction:column;min-height:100dvh;min-height:100svh;width:100%}.mobile-screen__content{flex:1;display:flex;flex-direction:column;width:100%;padding-left:var(--space-screen-x);padding-right:var(--space-screen-x);padding-bottom:var(--space-screen-bottom)}.mobile-screen__content--top{padding-top:var(--space-screen-top)}.mobile-app-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--app-header-height);padding:var(--space-screen-top) var(--space-screen-x) .75rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.mobile-app-bar--brand{background:var(--color-brand-green);border-bottom:none;padding-bottom:1.25rem}.mobile-app-bar__logo{display:block;width:auto;max-width:6.5rem;height:2rem;object-fit:contain;object-position:left center}.mobile-app-bar__btn{display:inline-flex;align-items:center;justify-content:center;min-height:1.875rem;min-width:auto;padding:0 .75rem;font:inherit;font-size:.75rem;font-weight:600;color:var(--color-brand-green-darker);background:#fff;border:1.5px solid #fff;box-shadow:0 1px 2px #0000001a;border-radius:8px;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}.mobile-app-bar__btn:active{background:#f0fdf4;border-color:#f0fdf4;transform:scale(.98)}.mobile-touch-target{min-height:var(--touch-min);min-width:var(--touch-min);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:0 1.125rem;border-radius:12px;font:inherit;font-size:1rem;font-weight:600;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;border:none}.mobile-btn--primary{width:100%;background:var(--color-primary);color:#fff}.mobile-btn--primary:active:not(:disabled){background:var(--color-primary-hover);transform:scale(.99)}.mobile-btn--primary:disabled{opacity:.55;cursor:not-allowed}.mobile-btn--ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.875rem;font-weight:500;padding:0 .875rem}.mobile-input{width:100%;min-height:var(--touch-min);padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.mobile-scroll{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}@media(min-width:480px){html,body,#root{background:#cbd5e1}.mobile-app{--mobile-max-width: 430px;box-shadow:0 0 0 1px var(--color-border),0 12px 48px #0f172a26}}@media(display-mode:standalone){body{background:var(--color-brand-green)}.mobile-app{box-shadow:none;--mobile-max-width: 100%}}:root{--color-brand-green: #7dbf44;--color-brand-green-dark: #6aab3a;--color-brand-green-darker: #558f32;--color-bg: #f4f8ef;--color-surface: #ffffff;--color-text: #0f172a;--color-text-muted: #475569;--color-text-on-green: #ffffff;--color-border: #dce8d0;--color-primary: var(--color-brand-green);--color-primary-hover: var(--color-brand-green-dark);--color-focus-ring: rgba(125, 191, 68, .35)}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-brand-green)}body{margin:0;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;color:var(--color-text);background-color:var(--color-brand-green)}#root{min-height:100dvh;min-height:100svh;background-color:var(--color-brand-green)}button,input{font-family:inherit}
