.crw-body{min-height:100vh;background:#f5f6f8;padding-bottom:4.5rem}.crw-main{max-width:600px;margin:0 auto;padding:1rem}.crw-header{background:#0d6efd;color:#fff;position:sticky;top:0;z-index:100}.crw-header__inner{max-width:600px;margin:0 auto;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.crw-header__title{font-weight:700;font-size:1.125rem}.crw-header__logout{background:none;border:none;color:#fffc;font-size:1.125rem;padding:.5rem;cursor:pointer}.crw-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.crw-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0;font-size:.6875rem;color:#6c757d;text-decoration:none;gap:.125rem;min-height:3.5rem}.crw-nav__item i{font-size:1.25rem}.crw-nav__item--active{color:#0d6efd;font-weight:600}.crw-offline{position:fixed;top:0;left:0;right:0;background:#dc3545;color:#fff;text-align:center;padding:.5rem;font-size:.8125rem;z-index:200}.crw-login{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:1rem}.crw-login__card{background:#fff;border-radius:1rem;padding:2rem 1.5rem;box-shadow:0 4px 18px #0000000f;width:100%;max-width:400px}.crw-login__icon{text-align:center;font-size:2.5rem;color:#0d6efd;margin-bottom:1rem}.crw-login__title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:.5rem}.crw-login__subtitle{text-align:center;color:#6c757d;margin-bottom:1.5rem}.crw-btn{min-height:48px;font-size:1rem;font-weight:600;border-radius:.75rem;width:100%}.crw-btn--lg{min-height:56px;font-size:1.125rem}.crw-dashboard__date{font-size:1.125rem;font-weight:700;margin-bottom:1rem}.crw-stats{display:flex;gap:.5rem;margin-bottom:1.5rem}.crw-stats__item{flex:1;background:#fff;border-radius:.75rem;padding:.75rem;text-align:center;box-shadow:0 1px 3px #0000000a}.crw-stats__value{font-size:1.5rem;font-weight:700;line-height:1.2}.crw-stats__label{font-size:.6875rem;color:#6c757d;text-transform:uppercase;letter-spacing:.04em}.crw-empty{text-align:center;padding:3rem 1rem;color:#6c757d}.crw-empty i{font-size:3rem;margin-bottom:1rem;opacity:.4}.crw-job-card{display:block;background:#fff;border-radius:.75rem;padding:1rem;margin-bottom:.75rem;box-shadow:0 1px 3px #0000000a;text-decoration:none;color:inherit;border-left:4px solid #0d6efd;transition:box-shadow .15s ease}.crw-job-card:hover,.crw-job-card:focus{box-shadow:0 4px 12px #00000014;color:inherit}.crw-job-card--done{border-left-color:#198754;opacity:.75}.crw-job-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.crw-job-card__time{font-size:.8125rem;color:#6c757d}.crw-job-card__customer{font-weight:700;font-size:1rem;margin-bottom:.25rem}.crw-job-card__address{font-size:.8125rem;color:#6c757d;margin-bottom:.25rem}.crw-job-card__service{font-size:.75rem;color:#0d6efd;font-weight:600}.crw-job-card__meta{display:flex;justify-content:space-between;font-size:.75rem;color:#6c757d;margin-top:.25rem}.crw-jobs__filter{margin-bottom:1rem}.crw-jobs__filter .form-control{font-size:1rem;min-height:44px}.crw-job-detail__status{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.crw-section{background:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000000a}.crw-section__title{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#6c757d;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.crw-detail-row{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid #f0f0f0;font-size:.9375rem}.crw-detail-row:last-child{border-bottom:none}.crw-detail-row i:first-child{width:1.25rem;text-align:center;color:#6c757d;flex-shrink:0}.crw-detail-row--action{text-decoration:none;color:#0d6efd;cursor:pointer}.crw-detail-row--action i:last-child{margin-left:auto;font-size:.75rem}.crw-special-instructions{display:flex;gap:.5rem;padding:.75rem;background:#fff8e1;border-radius:.5rem;font-size:.875rem;margin-top:.5rem}.crw-checklist__item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #f0f0f0;cursor:pointer;min-height:48px}.crw-checklist__item:last-child{border-bottom:none}.crw-checklist__check{font-size:1.25rem;padding-top:.125rem;flex-shrink:0}.crw-checklist__item--done .crw-checklist__content{text-decoration:line-through;opacity:.6}.crw-checklist__area{font-weight:600;font-size:.8125rem;color:#6c757d}.crw-checklist__task{font-size:.9375rem}.crw-checklist__photo{margin-left:auto;padding:.5rem}.crw-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;margin-bottom:2rem}.crw-signature__canvas{width:100%;height:150px;border:2px dashed #dee2e6;border-radius:.5rem;background:#fff;touch-action:none;cursor:crosshair}.crw-complete__summary{background:#fff;border-radius:.75rem;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000000a}.crw-insp-score{text-align:center;padding:1rem;margin-bottom:.75rem}.crw-insp-score__value{font-size:2.5rem;font-weight:700;line-height:1.2}.crw-insp-score__label{font-size:.8125rem;color:#6c757d;margin-bottom:.25rem}.crw-insp-score__meta{font-size:.75rem;color:#6c757d;margin-top:.5rem}.crw-insp-trend{margin-bottom:.75rem}.crw-trend__label{font-size:.75rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.crw-trend__chart{display:flex;align-items:flex-end;gap:3px;height:70px;padding:.5rem 0}.crw-trend__col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.crw-trend__bar{width:100%;max-width:24px;border-radius:3px 3px 0 0;min-height:2px}.crw-trend__bar--good{background:#198754}.crw-trend__bar--ok{background:#ffc107}.crw-trend__bar--low{background:#dc3545}.crw-trend__val{font-size:.5625rem;color:#6c757d;margin-top:2px}.crw-insp-rec{padding:.75rem 0;border-bottom:1px solid #f0f0f0}.crw-insp-rec:last-child{border-bottom:none}.crw-insp-rec__category{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.crw-insp-rec__tip{font-size:.8125rem;color:#495057}
