@import"https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=Barlow+Condensed:wght@600;700;800&display=swap";.login-screen{min-height:100vh;background:linear-gradient(160deg,#0f2447,#1a3a6e 40%,#1f7ef2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 28px;position:relative;overflow:hidden}.login-screen:before{content:"";position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:#1f7ef233;border-radius:50%}.login-logo-wrap{background:#fff;border-radius:20px;padding:18px 32px;margin-bottom:12px;box-shadow:0 8px 32px #0000004d}.login-logo-text{font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:800;color:var(--ab-blue);letter-spacing:1px}.login-logo-text span{color:var(--steel)}.login-subtitle{color:#ffffffb3;font-size:13px;margin-bottom:40px;letter-spacing:2px;text-transform:uppercase}.login-card{width:100%;background:#fff;border-radius:20px;padding:32px 24px;box-shadow:0 20px 60px #0000004d}.login-card h2{font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:700;color:var(--steel);margin-bottom:4px}.login-card p{color:var(--text-light);font-size:14px;margin-bottom:20px}.login-error{background:var(--danger-light);border:1px solid rgba(229,62,62,.3);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:var(--danger);margin-bottom:16px}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:12px;font-weight:600;color:var(--steel-mid);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.form-field input{width:100%;padding:14px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);font-family:Barlow,sans-serif;font-size:16px;color:var(--text);outline:none;transition:border-color .2s;background:var(--surface)}.form-field input:focus{border-color:var(--ab-blue);background:#fff}.job-card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 2px 8px #0000000f;cursor:pointer;display:flex;transition:transform .15s,box-shadow .15s;overflow:hidden}.job-card:active{transform:scale(.98);box-shadow:0 1px 4px #00000014}.job-card-accent{width:4px;flex-shrink:0;background:var(--ab-blue)}.job-card-accent.high{background:var(--danger)}.job-card-accent.medium{background:var(--warning)}.job-card-accent.low{background:var(--success)}.job-card-inner{flex:1;padding:12px;display:flex;flex-direction:column;gap:5px;min-width:0}.job-card-header{display:flex;justify-content:space-between;align-items:center}.job-card-number{font-size:11px;font-weight:700;color:var(--ab-blue);letter-spacing:.5px}.priority-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.priority-badge.High{background:var(--danger-light);color:var(--danger)}.priority-badge.Medium{background:var(--warning-light);color:var(--warning)}.priority-badge.Low{background:var(--success-light);color:var(--success)}.job-card-customer{font-size:15px;font-weight:700;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-fault{font-size:12px;color:var(--text-mid);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card-meta{display:flex;flex-direction:column;gap:3px;margin-top:2px}.meta-row{display:flex;align-items:center;gap:5px}.meta-row span{font-size:11px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-card-footer{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--border);margin-top:4px}.status-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--ab-blue-light);color:var(--ab-blue);white-space:nowrap}.status-badge.inprogress{background:var(--warning-light);color:var(--warning)}.status-badge.carryover{background:var(--danger-light);color:var(--danger)}.status-badge.workcompleted-closed{background:var(--success-light);color:var(--success)}.case-type-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;white-space:nowrap}.job-card-footer>svg{margin-left:auto;flex-shrink:0}.job-card-numbers{display:flex;flex-direction:column;gap:2px}.job-card-po{display:block;font-size:11px;font-weight:500;color:var(--text-light, #718096);letter-spacing:.2px}.po-notes-section{padding-top:10px;border-top:1px solid #f0f0f0;margin-top:4px}.po-notes-label{font-size:11px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.po-notes-text{font-size:13px;color:var(--text-main);line-height:1.5;background:var(--bg-secondary, #f7fafc);border-radius:6px;padding:8px 10px;margin-bottom:8px;white-space:pre-wrap;word-break:break-word}.po-notes-history{max-height:120px;overflow-y:auto}.po-notes-empty{font-size:13px;color:var(--text-light);font-style:italic;margin-bottom:8px}.po-notes-textarea{width:100%;border:1.5px solid #e2e8f0;border-radius:6px;padding:8px 10px;font-size:13px;font-family:inherit;color:var(--text-main);resize:vertical;box-sizing:border-box;margin-bottom:8px;background:#fff;transition:border-color .15s}.po-notes-textarea:focus{outline:none;border-color:var(--primary, #2b6cb0)}.po-note-save-btn{width:100%}.job-card-assigned{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:6px;padding:2px 8px;border-radius:10px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:600}.ptr-indicator{position:fixed;top:var(--header-height, 56px);left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:90}.ptr-spinner{width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#1f7ef2;border:2px solid transparent}.ptr-spinner.spin{border:2px solid #e2e8f0;border-top-color:#1f7ef2;animation:ptr-spin .7s linear infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.greeting-banner{background:linear-gradient(135deg,#0f2447 0%,#1a3a6e 60%,var(--ab-blue) 100%);margin:0 16px 16px;border-radius:var(--radius);padding:20px;position:relative;overflow:hidden;box-shadow:0 4px 20px #1f7ef24d}.greeting-banner:after{content:"AB";position:absolute;right:-8px;top:-12px;font-family:Barlow Condensed,sans-serif;font-size:90px;font-weight:800;color:#ffffff0f;line-height:1}.greeting-banner h2{font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:700;color:#fff;margin-bottom:2px}.greeting-banner p{color:#ffffffb3;font-size:13px}.stat-pills{display:flex;gap:8px;margin-top:16px}.stat-pill{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:6px 14px;display:flex;align-items:center;gap:6px}.stat-pill strong{color:#fff;font-size:18px;font-weight:700}.stat-pill span{color:#ffffffb3;font-size:12px}.jobs-search-wrap{padding:0 16px 12px}.jobs-search-box{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:10px 14px;box-shadow:0 1px 4px #0000000d}.jobs-search-box:focus-within{border-color:var(--ab-blue)}.jobs-search-input{flex:1;border:none;outline:none;font-family:Barlow,sans-serif;font-size:14px;color:var(--text);background:transparent;min-width:0}.jobs-search-input::placeholder{color:var(--text-light)}.jobs-search-clear{background:none;border:none;color:var(--text-light);font-size:14px;cursor:pointer;padding:0;line-height:1}.jobs-search-count{font-size:12px;color:var(--text-light);margin-top:6px;padding-left:2px}.job-list{padding:0 16px;display:flex;flex-direction:column;gap:10px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.empty-icon{font-size:48px}.empty-state p{font-size:15px;color:var(--text-light)}.top-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;height:var(--header-height);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;z-index:100;box-shadow:0 1px 8px #0000000f}.header-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);border:none;cursor:pointer;margin-right:8px;color:var(--steel)}.header-title{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:700;color:var(--steel);letter-spacing:.3px;flex:1}.header-logo{font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:800;color:var(--ab-blue);letter-spacing:.5px;flex:1}.header-install-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:var(--ab-blue);color:#fff;border:none;border-radius:20px;font-family:Barlow,sans-serif;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px #1f7ef259;transition:opacity .15s}.header-install-btn:active{opacity:.85}.safety-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:flex-end;justify-content:center;padding:16px}.safety-modal{background:#fff;border-radius:20px 20px 16px 16px;padding:28px 24px 32px;width:100%;max-width:430px;max-height:85vh;overflow-y:auto}.safety-icon{font-size:40px;text-align:center;margin-bottom:12px}.safety-modal h2{font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:800;color:var(--steel);text-align:center;margin-bottom:8px}.safety-modal p{font-size:14px;color:var(--text-mid);text-align:center;margin-bottom:16px}.safety-checklist{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.safety-checklist li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text);padding:10px 14px;background:var(--surface);border-radius:var(--radius-sm)}.safety-checklist li:before{content:"✓";color:var(--success);font-weight:800;font-size:16px;flex-shrink:0}.safety-confirm{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--text);cursor:pointer;padding:14px;background:var(--ab-blue-light);border-radius:var(--radius-sm);border:1px solid rgba(31,126,242,.2)}.safety-confirm input{width:18px;height:18px;flex-shrink:0;cursor:pointer;margin-top:1px}.job-detail{padding:0 16px}.safety-done-bar{background:var(--success-light);border:1px solid #9ae6b4;border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--success);font-weight:600}.safety-done-bar span{font-size:16px}.detail-card{background:#fff;border-radius:var(--radius);padding:16px;margin-bottom:12px;border:1px solid var(--border);box-shadow:0 1px 4px #0000000a}.detail-card h3{font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.asset-count{font-size:12px;font-weight:700;color:var(--ab-blue);background:var(--ab-blue-light);padding:2px 8px;border-radius:20px;letter-spacing:0}.detail-row{display:flex;justify-content:space-between;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--border)}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-row label{font-size:13px;color:var(--text-light);font-weight:500;flex:0 0 100px}.detail-row span{font-size:13px;color:var(--text);font-weight:600;text-align:right;flex:1}.fault-text,.address-text{font-size:14px;color:var(--text-mid);line-height:1.6;white-space:pre-wrap}.asset-item{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:8px;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:background .15s}.asset-item:last-child{margin-bottom:0}.asset-item:active{background:var(--ab-blue-light)}.asset-item.completed{background:var(--success-light);border-color:#9ae6b4}.asset-status-dot{width:32px;height:32px;border-radius:50%;background:var(--ab-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:700;color:#fff}.asset-item.completed .asset-status-dot{background:var(--success)}.asset-info{flex:1;min-width:0}.asset-info strong{display:block;font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-info span{display:block;font-size:11px;color:var(--text-light);margin-top:2px}.btn-start-job{width:100%;padding:18px;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius);font-family:Barlow Condensed,sans-serif;font-size:18px;font-weight:700;letter-spacing:1px;cursor:pointer;box-shadow:0 4px 20px #1f7ef266;transition:background .2s,transform .1s;margin-top:4px}.btn-start-job:active{transform:scale(.98)}.btn-start-job:disabled{background:var(--border);color:var(--text-light);box-shadow:none}.asset-visit-badge{display:inline-block;margin-top:4px;padding:2px 8px;background:var(--warning-light, #fffff0);color:var(--warning, #d69e2e);border:1px solid #f6e05e;border-radius:20px;font-size:11px;font-weight:600;width:fit-content}.po-docs-card h3{display:flex;align-items:center;gap:8px}.po-number-badge{font-size:12px;font-weight:600;color:var(--text-light);background:var(--bg-secondary, #f7fafc);border:1px solid #e2e8f0;border-radius:10px;padding:2px 8px;margin-left:auto}.po-doc-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f0f0}.po-doc-row:last-of-type{border-bottom:none}.po-doc-label{display:flex;align-items:center;gap:8px;flex:1;font-size:14px;font-weight:500;color:var(--text-main)}.po-doc-status{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.po-doc-status.status-ok{background:#c6f6d5;color:#276749}.po-doc-status.status-missing{background:#fed7d7;color:#c53030}.po-upload-btn{padding:6px 14px;font-size:13px;font-weight:600;border-radius:6px;border:1.5px solid var(--primary, #2b6cb0);background:#fff;color:var(--primary, #2b6cb0);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.po-upload-btn:hover:not(:disabled){background:var(--primary, #2b6cb0);color:#fff}.po-upload-btn:disabled{opacity:.6;cursor:not-allowed}.po-upload-success{margin-top:8px;padding:8px 12px;background:#c6f6d5;color:#276749;border-radius:6px;font-size:13px;font-weight:500}.po-upload-error{margin-top:8px;padding:8px 12px;background:#fed7d7;color:#c53030;border-radius:6px;font-size:13px;font-weight:500}.po-reports-section{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.po-reports-label{font-size:12px;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.po-report-link{display:flex;align-items:center;gap:6px;padding:8px 0;font-size:13px;font-weight:500;color:var(--primary, #2b6cb0);text-decoration:none;border-bottom:1px solid #f7f7f7}.po-report-link:last-child{border-bottom:none}.po-report-link:active{opacity:.7}.assign-select{width:100%;padding:12px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:15px;background:#fff;color:var(--text, #1a1a2e);-webkit-appearance:none;-moz-appearance:none;appearance:none}.assign-select:disabled{opacity:.6}.assign-hint{margin-top:8px;font-size:13px;color:var(--text-light, #718096)}.profile-header{background:linear-gradient(135deg,#0f2447,#1a3a6e);margin:0 16px 16px;border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px}.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--ab-blue);display:flex;align-items:center;justify-content:center;font-family:Barlow Condensed,sans-serif;font-size:22px;font-weight:800;color:#fff;border:3px solid rgba(255,255,255,.3);flex-shrink:0}.profile-name{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:700;color:#fff}.profile-email{font-size:12px;color:#fff9;margin-top:2px}.profile-role{font-size:11px;font-weight:700;background:var(--ab-blue);color:#fff;padding:2px 8px;border-radius:20px;display:inline-block;margin-top:6px}.compliance-alert-bar{margin:0 16px 16px;background:var(--danger-light);border:1px solid rgba(229,62,62,.2);border-left:4px solid var(--danger);border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;color:var(--danger);font-weight:600}.cert-item{display:flex;align-items:center;gap:12px;background:#fff;border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:10px;border:1px solid var(--border)}.cert-item.expired{border-color:#e53e3e33;background:var(--danger-light)}.cert-item.expiring{border-color:#d69e2e33;background:var(--warning-light)}.cert-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cert-dot.valid{background:var(--success)}.cert-dot.expiring{background:var(--warning)}.cert-dot.expired{background:var(--danger)}.cert-info{flex:1}.cert-info strong{font-size:14px;font-weight:700;color:var(--text);display:block}.cert-info span{font-size:12px;color:var(--text-light);margin-top:2px;display:block}.cert-status{font-size:11px;font-weight:700;padding:3px 8px;border-radius:20px}.cert-status.valid{background:var(--success-light);color:var(--success)}.cert-status.expiring{background:var(--warning-light);color:var(--warning)}.cert-status.expired{background:var(--danger-light);color:var(--danger)}.account-card{background:#fff;border-radius:var(--radius-sm);padding:4px 16px;border:1px solid var(--border);margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}.detail-row label{color:var(--text-light);font-weight:500}.detail-row span{color:var(--text);font-weight:600}.logout-btn{display:flex;align-items:center;gap:8px;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;width:100%;cursor:pointer;margin:8px 0 24px;color:var(--danger);font-family:Barlow,sans-serif;font-size:15px;font-weight:600}.profile-manage-users-btn{display:block;width:calc(100% - 32px);margin:0 16px 16px;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer}.ac-add-btn{display:block;width:100%;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer}.ac-form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px}.ac-form-title{font-family:Barlow Condensed,sans-serif;font-size:16px;font-weight:700;color:var(--text);margin-bottom:12px}.ac-label{display:block;font-size:12px;font-weight:700;color:var(--text-light);margin:12px 0 6px}.ac-label:first-of-type{margin-top:0}.ac-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box}.ac-error{margin-top:12px;background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;font-weight:600}.ac-btn-row{display:flex;gap:10px;margin-top:16px}.ac-cancel-btn{flex:1;background:var(--border);color:var(--text);border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer}.ac-save-btn{flex:2;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer}.mu-wrap{padding-bottom:24px}.mu-header{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#0f2447,#1a3a6e);margin-bottom:16px}.mu-back-btn{background:#ffffff26;color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;cursor:pointer}.mu-title{font-family:Barlow Condensed,sans-serif;font-size:20px;font-weight:700;color:#fff}.mu-add-btn{display:block;width:calc(100% - 32px);margin:0 16px 16px;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer}.mu-user-card{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 32px);margin:0 16px 10px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;cursor:pointer;text-align:left}.mu-user-name{font-size:14px;font-weight:700;color:var(--text)}.mu-user-email{font-size:12px;color:var(--text-light);margin-top:2px}.mu-user-badges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.mu-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--border);color:var(--text-light)}.mu-badge.role-1{background:var(--ab-blue);color:#fff}.mu-badge.status-1{background:var(--success);color:#fff}.mu-badge.status-2{background:var(--danger);color:#fff}.mu-empty{text-align:center;padding:40px 16px;color:var(--text-light);font-size:14px}.mu-form-card{background:#fff;border-radius:var(--radius);margin:0 16px;padding:16px;border:1px solid var(--border)}.mu-label{display:block;font-size:12px;font-weight:700;color:var(--text-light);margin:14px 0 6px}.mu-label:first-child{margin-top:0}.mu-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;box-sizing:border-box}.mu-error{margin-top:14px;background:var(--danger-light);color:var(--danger);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;font-weight:600}.mu-primary-btn{width:100%;margin-top:18px;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer}.mu-status-btn{width:100%;margin-top:10px;border:none;border-radius:var(--radius-sm);padding:12px;font-size:14px;font-weight:700;cursor:pointer;color:#fff}.mu-status-btn.danger{background:var(--danger)}.mu-status-btn.success{background:var(--success)}.mu-confirm-card{background:#fff;border-radius:var(--radius);margin:0 16px;padding:24px 16px;border:1px solid var(--border);text-align:center}.mu-confirm-icon{width:48px;height:48px;border-radius:50%;background:var(--success);color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.mu-confirm-text{font-size:14px;color:var(--text);margin-bottom:16px}.mu-confirm-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.mu-confirm-row:last-of-type{border-bottom:none;margin-bottom:16px}.rr-page{min-height:100vh;background:var(--bg, #f4f6fa);padding-bottom:40px}.rr-job-banner{background:var(--primary, #00889E);color:#fff;padding:12px 18px 14px;max-height:160px;overflow:hidden}.rr-job-customer{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-job-title{font-size:13px;font-weight:600;line-height:1.3;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.9}.rr-asset-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff26;border-radius:20px;padding:5px 12px;font-size:13px}.rr-asset-icon{font-size:15px}.rr-asset-name{font-weight:600}.rr-asset-serial{opacity:.75;font-size:11px;margin-left:4px}.rr-form{padding:0 0 24px}.rr-section{margin-top:12px;background:#fff;border-radius:12px;overflow:hidden;margin-left:12px;margin-right:12px;box-shadow:0 1px 4px #0000000f}.rr-section-title{background:var(--primary, #00889E);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px}.rr-section-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.rr-section-note{font-size:12px;color:#888;margin:-6px 0 2px}.rr-field{display:flex;flex-direction:column;gap:5px}.rr-label{font-size:13px;font-weight:600;color:#333}.rr-required{color:#e53935}.rr-input,.rr-select,.rr-textarea{width:100%;font-size:15px;color:#1a1a2e;background:#f8f9fb;border:1.5px solid #e0e3ea;border-radius:8px;padding:10px 12px;box-sizing:border-box;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s;font-family:inherit}.rr-input:focus,.rr-select:focus,.rr-textarea:focus{border-color:var(--primary, #00889E);background:#fff}.rr-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.rr-textarea{resize:vertical;min-height:80px;line-height:1.5}.rr-condition-group{display:flex;flex-direction:column;gap:8px}.rr-condition-btn{width:100%;padding:11px 14px;border-radius:8px;border:2px solid #e0e3ea;background:#f8f9fb;font-size:14px;font-weight:500;color:#333;text-align:left;cursor:pointer;transition:all .15s}.rr-condition-btn:active{opacity:.85}.rr-condition-btn.selected.rr-condition-1{border-color:#2e7d32;background:#e8f5e9;color:#1b5e20;font-weight:700}.rr-condition-btn.selected.rr-condition-2{border-color:#f57f17;background:#fff8e1;color:#e65100;font-weight:700}.rr-condition-btn.selected.rr-condition-3{border-color:#c62828;background:#ffebee;color:#b71c1c;font-weight:700}.rr-radio-group{display:flex;gap:10px}.rr-radio-btn{flex:1;padding:10px;border-radius:8px;border:2px solid #e0e3ea;background:#f8f9fb;font-size:14px;font-weight:600;color:#555;cursor:pointer;transition:all .15s;text-align:center}.rr-radio-btn.selected{border-color:var(--primary, #00889E);background:#e0f4f7;color:var(--primary, #00889E)}.rr-photos-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-capture-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;aspect-ratio:1;border:2px dashed #c8cdd8;border-radius:10px;background:#f8f9fb;color:#888;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.photo-capture-btn:active{background:#eef0f5}.photo-preview{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:2px solid #e0e3ea}.sig-pad-wrapper{display:flex;flex-direction:column;gap:6px}.rr-signoff-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rr-error-banner{display:flex;align-items:center;gap:8px;margin:12px 12px 0;padding:12px 14px;background:#fff3f3;border:1.5px solid #ffcdd2;border-radius:10px;color:#c62828;font-size:14px;font-weight:500}.rr-error-icon{font-size:16px;flex-shrink:0}.rr-submit-area{margin:20px 12px 0}.rr-submit-btn{width:100%;padding:16px;background:var(--primary, #00889E);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:54px;transition:opacity .15s}.rr-submit-btn:disabled{opacity:.6;cursor:not-allowed}.rr-submit-btn:active:not(:disabled){opacity:.85}.rr-spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:rr-spin .7s linear infinite}@keyframes rr-spin{to{transform:rotate(360deg)}}.rr-success-page{min-height:100vh;background:var(--bg, #f4f6fa);display:flex;align-items:center;justify-content:center;padding:24px}.rr-success-box{background:#fff;border-radius:16px;padding:36px 28px;text-align:center;box-shadow:0 4px 20px #00000014;max-width:340px;width:100%}.rr-success-icon{width:64px;height:64px;background:var(--primary, #00889E);color:#fff;font-size:32px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.rr-success-box h2{font-size:22px;font-weight:800;color:#1a1a2e;margin:0 0 6px}.rr-success-asset{font-size:14px;color:#555;margin:0 0 16px}.rr-success-note{font-size:13px;color:#666;line-height:1.5;margin:0 0 24px}.rr-done-btn{width:100%;padding:14px;background:var(--primary, #00889E);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.rr-error-page{min-height:100vh;background:var(--bg, #f4f6fa);display:flex;align-items:center;justify-content:center;padding:24px}.rr-error-box{background:#fff;border-radius:12px;padding:28px 24px;text-align:center;box-shadow:0 2px 12px #00000012}.rr-back-btn{margin-top:14px;padding:10px 24px;background:var(--primary, #00889E);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}@media (max-width: 360px){.rr-photos-row,.rr-signoff-row{grid-template-columns:1fr}}.rr-revisit-banner{margin:10px 12px 0;background:#fffaf0;border:1.5px solid #fbd38d;border-radius:10px;padding:10px 14px}.rr-revisit-title{font-size:13px;font-weight:700;color:#c05621;margin-bottom:4px}.rr-revisit-details{font-size:12px;color:#7b341e;line-height:1.5}.rr-revisit-actions{margin-top:4px;font-style:italic;color:#975a16}.mr-page{min-height:100vh;background:var(--surface, #f0f4f8);padding-bottom:40px}.mr-job-banner{background:#00889e;color:#fff;padding:12px 18px 14px;max-height:160px;overflow:hidden}.mr-job-customer{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-job-title{font-size:13px;font-weight:600;line-height:1.3;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.9}.mr-asset-pill{display:inline-flex;align-items:center;gap:6px;background:#ffffff26;border-radius:20px;padding:5px 12px;font-size:13px;margin-bottom:8px}.mr-asset-icon{font-size:15px}.mr-asset-name{font-weight:600}.mr-asset-serial{opacity:.75;font-size:11px;margin-left:4px}.mr-progress-pill{display:inline-flex;align-items:center;gap:4px;background:#fff3;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.mr-last-badge{background:#ffffff4d;border-radius:10px;padding:1px 6px;font-size:11px}.mr-form{padding:0 0 24px}.mr-section{margin:12px 12px 0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.mr-section-title{background:#00889e;color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:8px 16px}.mr-section-body{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.mr-section-note{font-size:12px;color:#888;margin:-6px 0 2px}.mr-field{display:flex;flex-direction:column;gap:5px}.mr-label{font-size:13px;font-weight:600;color:#333}.mr-required{color:#e53935}.mr-input,.mr-textarea{width:100%;font-size:15px;color:#1a1a2e;background:#f8f9fb;border:1.5px solid #e0e3ea;border-radius:8px;padding:10px 12px;box-sizing:border-box;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .2s;font-family:inherit}.mr-input:focus,.mr-textarea:focus{border-color:#00889e;background:#fff}.mr-textarea{resize:vertical;min-height:80px;line-height:1.5}.mr-radio-group{display:flex;gap:10px}.mr-radio-btn{flex:1;padding:10px;border-radius:8px;border:2px solid #e0e3ea;background:#f8f9fb;font-size:14px;font-weight:600;color:#555;cursor:pointer;transition:all .15s;text-align:center}.mr-radio-btn.selected{border-color:#00889e;background:#e0f4f7;color:#00889e}.mr-condition-group{display:flex;flex-direction:column;gap:8px}.mr-condition-btn{width:100%;padding:11px 14px;border-radius:8px;border:2px solid #e0e3ea;background:#f8f9fb;font-size:14px;font-weight:500;color:#333;text-align:left;cursor:pointer;transition:all .15s}.mr-condition-btn.selected.mr-condition-1{border-color:#2e7d32;background:#e8f5e9;color:#1b5e20;font-weight:700}.mr-condition-btn.selected.mr-condition-2{border-color:#f57f17;background:#fff8e1;color:#e65100;font-weight:700}.mr-condition-btn.selected.mr-condition-3{border-color:#c62828;background:#ffebee;color:#b71c1c;font-weight:700}.photo-input-wrapper{display:flex;flex-direction:column;gap:6px}.photo-input-label{font-size:13px;font-weight:600;color:#333}.photo-capture-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;aspect-ratio:1;max-height:140px;border:2px dashed #c8cdd8;border-radius:10px;background:#f8f9fb;color:#888;font-size:12px;font-weight:600;cursor:pointer}.photo-icon{font-size:24px}.photo-preview-container{position:relative}.photo-preview{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:2px solid #e0e3ea;max-height:140px}.photo-remove-btn{display:block;width:100%;margin-top:4px;padding:5px;background:#fff0f0;border:1px solid #ffcdd2;border-radius:6px;color:#c62828;font-size:11px;font-weight:600;cursor:pointer}.mr-fault-photos{display:flex;flex-direction:column;gap:16px}.mr-fault-photo-row,.sig-pad-wrapper{display:flex;flex-direction:column;gap:6px}.sig-pad-label{font-size:13px;font-weight:600;color:#333}.sig-pad-canvas-container{position:relative;width:100%;height:150px;background:#fff;border:2px solid #c8cdd8;border-radius:10px;overflow:hidden}.sig-pad-canvas{width:100%;height:100%;display:block;touch-action:none}.sig-pad-hint{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:11px;color:#bbb;pointer-events:none;-webkit-user-select:none;user-select:none}.sig-clear-btn{align-self:flex-end;padding:5px 14px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;color:#555;font-size:12px;font-weight:600;cursor:pointer}.mr-signoff-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mr-error-banner{display:flex;align-items:center;gap:8px;margin:12px 12px 0;padding:12px 14px;background:#fff3f3;border:1.5px solid #ffcdd2;border-radius:10px;color:#c62828;font-size:14px;font-weight:500}.mr-error-icon{font-size:16px;flex-shrink:0}.mr-submit-area{margin:20px 12px 0}.mr-submit-btn{width:100%;padding:16px;background:#00889e;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:54px;transition:opacity .15s}.mr-submit-btn:disabled{opacity:.6;cursor:not-allowed}.mr-submit-btn:active:not(:disabled){opacity:.85}.mr-spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:mr-spin .7s linear infinite}@keyframes mr-spin{to{transform:rotate(360deg)}}.mr-success-page{min-height:100vh;background:var(--surface, #f0f4f8);display:flex;align-items:center;justify-content:center;padding:24px}.mr-success-box{background:#fff;border-radius:16px;padding:36px 28px;text-align:center;box-shadow:0 4px 20px #00000014;max-width:340px;width:100%}.mr-success-icon{width:64px;height:64px;background:#00889e;color:#fff;font-size:32px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.mr-success-box h2{font-size:22px;font-weight:800;color:#1a1a2e;margin:0 0 6px}.mr-success-asset{font-size:14px;color:#555;margin:0 0 16px}.mr-success-note{font-size:13px;color:#666;line-height:1.5;margin:0 0 24px}.mr-done-btn{width:100%;padding:14px;background:#00889e;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}.mr-error-page{min-height:100vh;background:var(--surface, #f0f4f8);display:flex;align-items:center;justify-content:center;padding:24px}.mr-error-box{background:#fff;border-radius:12px;padding:28px 24px;text-align:center;box-shadow:0 2px 12px #00000012}.mr-back-btn{margin-top:14px;padding:10px 24px;background:#00889e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}@media (max-width: 360px){.mr-signoff-row{grid-template-columns:1fr}}.mr-check-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border, #e2e8f0)}.mr-check-item:last-of-type{border-bottom:none}.mr-check-item.unchecked .mr-check-label{color:#c62828}.mr-check-label{flex:1;font-size:13px;line-height:1.4;color:var(--text, #1a202c)}.mr-check-toggle{width:36px;height:36px;border-radius:50%;border:2px solid;flex-shrink:0;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.mr-check-toggle.on{background:#e8f5e9;border-color:#2e7d32;color:#2e7d32}.mr-check-toggle.off{background:#ffebee;border-color:#c62828;color:#c62828}.mr-unchecked-warning{padding:10px 0 0;font-size:13px;font-weight:600;color:#e65100}.mr-photos-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}@media (max-width: 360px){.mr-photos-row{grid-template-columns:1fr 1fr}}.gs-test-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gs-test-field{display:flex;flex-direction:column;gap:5px}@media (max-width: 360px){.gs-test-grid{grid-template-columns:1fr}}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;height:var(--nav-height);background:#fff;border-top:1px solid var(--border);display:flex;z-index:100;box-shadow:0 -4px 20px #00000014}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;background:none;cursor:pointer;color:var(--text-light);transition:color .2s;padding-bottom:4px}.nav-tab.active{color:var(--ab-blue)}.nav-tab span{font-size:11px;font-weight:600;letter-spacing:.3px}.update-banner{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1f7ef2;color:#fff;font-size:14px;font-weight:600;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));box-shadow:0 2px 10px #0003}.update-banner button{flex-shrink:0;background:#fff;color:#1f7ef2;border:none;border-radius:6px;padding:6px 16px;font-size:14px;font-weight:700;cursor:pointer}.np-card{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-height, 64px) + 12px);z-index:250;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:14px;padding:12px 14px;box-shadow:0 8px 24px #00000029}.np-icon{font-size:24px;flex-shrink:0}.np-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.np-body strong{font-size:14px;color:var(--text-main, #1a1a2e)}.np-body span{font-size:12px;color:var(--text-light, #718096)}.np-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.np-enable{background:#1f7ef2;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer}.np-skip{background:none;border:none;color:var(--text-light, #718096);font-size:12px;cursor:pointer}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--ab-blue: #1f7ef2;--ab-blue-dark: #1563c7;--ab-blue-light: #e8f1fd;--steel: #2c3e50;--steel-mid: #4a5568;--steel-light: #718096;--surface: #f0f4f8;--card: #ffffff;--border: #e2e8f0;--danger: #e53e3e;--danger-light: #fff5f5;--warning: #d69e2e;--warning-light: #fffff0;--success: #38a169;--success-light: #f0fff4;--text: #1a202c;--text-mid: #4a5568;--text-light: #718096;--nav-height: 68px;--header-height: 60px;--radius: 14px;--radius-sm: 8px}html,body,#root{height:100%;font-family:Barlow,sans-serif;background:var(--surface);color:var(--text);overflow-x:hidden}.app-shell{max-width:430px;margin:0 auto;min-height:100vh;background:var(--surface);position:relative}.scroll-area{padding-top:calc(var(--header-height) + 16px);padding-bottom:calc(var(--nav-height) + 16px);min-height:100vh}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:slideUp .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .2s ease forwards}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--ab-blue);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-light);font-size:14px;gap:12px}.error-wrap{margin:20px 16px;background:var(--danger-light);border:1px solid rgba(229,62,62,.2);border-left:4px solid var(--danger);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;color:var(--danger)}.btn-primary{width:100%;padding:16px;background:var(--ab-blue);color:#fff;border:none;border-radius:var(--radius-sm);font-family:Barlow,sans-serif;font-size:16px;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:background .2s,transform .1s}.btn-primary:active{transform:scale(.98);background:var(--ab-blue-dark)}.btn-primary:disabled{background:var(--border);color:var(--text-light)}.section-label{font-family:Barlow Condensed,sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-light);padding:0 16px;margin-bottom:10px}@media (display-mode: standalone){html,body{overscroll-behavior-y:contain}}
