:root{--bg: #f8f9fb;--card-bg: #ffffff;--border: #e5e7eb;--border-subtle: #f3f4f6;--text: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--primary: #16a34a;--primary-hover: #15803d;--primary-light: rgba(22, 163, 74, .06);--brand-green: #7fd858;--brand-gold: #d5a229;--brand-copper: #ba7515;--brand-bronze: #916306;--danger: #dc2626;--danger-hover: #b91c1c;--row-hover: #f9fafb;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08);--radius: 8px;--radius-sm: 6px;--font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}.layout{display:flex;min-height:100vh}.main-content{flex:1;overflow:auto;min-width:0}.loading-text{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-muted);font-size:14px}.sidebar{width:240px;flex-shrink:0;background:var(--card-bg);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--border)}.sidebar-brand{padding:14px 16px;background:var(--card-bg);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.sidebar-brand img{width:52px;height:66px;object-fit:contain;flex-shrink:0;display:block}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{color:var(--text);font-size:17px;line-height:1.1;font-weight:800}.sidebar-brand span{color:var(--text-secondary);font-size:12px;font-weight:600}.sidebar-mobile-logout{display:none;margin-left:auto}.sidebar-nav{padding:8px;flex:1}.sidebar-section-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:12px 8px 4px;letter-spacing:.05em}.sidebar-item{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px;font-weight:500;color:var(--text-secondary);border:none;background:none;width:100%;text-align:left;text-decoration:none;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s,color .15s}.sidebar-item:hover{background:var(--primary-light);color:var(--text)}.sidebar-item.active{background:var(--primary-light);color:var(--primary)}.sidebar-badge{margin-left:auto;font-size:11px;font-weight:600;color:var(--text-muted);background:var(--border-subtle);padding:1px 6px;border-radius:10px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px}.sidebar-external-icon{margin-left:auto;color:var(--text-muted)}.sidebar-user{width:100%;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.sidebar-stat{text-align:center;flex:1}.sidebar-stat-value{display:block;font-size:18px;font-weight:700;color:var(--text)}.sidebar-stat-label{font-size:11px;color:var(--text-muted)}.page{padding:24px 32px;max-width:1200px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.page-header h1{font-size:22px;font-weight:700}.page-subtitle{margin-top:2px;color:var(--text-secondary);font-size:13px}.page-header-right{display:flex;gap:8px;align-items:center}.page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.search-box{position:relative;flex:1;max-width:320px}.search-box input{width:100%;padding:7px 12px 7px 32px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);background:var(--card-bg);outline:none;transition:border-color .15s}.search-box input:focus{border-color:var(--primary)}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.filter-group{display:flex;gap:2px;background:var(--border-subtle);border-radius:var(--radius-sm);padding:2px}.filter-btn{padding:4px 10px;font-size:12px;font-weight:500;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .15s;font-family:var(--font)}.filter-btn:hover{color:var(--text)}.filter-btn.active{background:var(--card-bg);color:var(--text);box-shadow:var(--shadow)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;padding:10px 12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table-row:last-child td{border-bottom:none}.table-row.clickable{cursor:pointer}.table-row.clickable:hover td{background:var(--row-hover)}.record-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.record-link:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.text-bold{font-weight:600}.text-muted{color:var(--text-muted)}.text-right{text-align:right}.text-capitalize{text-transform:capitalize}.identifier{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--primary);font-weight:600}.identifier-lg{font-family:SF Mono,Fira Code,monospace;font-size:16px;color:var(--primary);font-weight:700}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:20px;border:1px solid;white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-badge-sm{font-size:12px;font-weight:500;text-transform:capitalize}.status-badge-sm.active{color:#16a34a}.status-badge-sm.inactive{color:var(--text-muted)}.status-badge-sm.clickable{cursor:pointer}.status-active,.status-accepted,.status-paid,.status-completed{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.status-paused,.status-sent,.status-confirmed{color:#92400e;background:#fffbeb;border-color:#fde68a}.status-cancelled,.status-declined,.status-expired,.status-overdue{color:#991b1b;background:#fef2f2;border-color:#fecaca}.status-draft,.status-scheduled{color:#374151;background:#f9fafb;border-color:#e5e7eb}.priority-badge{font-size:12px;font-weight:600;text-transform:capitalize}.tech-pill,.service-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:1px 8px;border-radius:12px;border:1px solid;white-space:nowrap}.tech-dot,.service-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.color-swatch{display:inline-block;width:18px;height:18px;border-radius:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;font-family:var(--font);text-align:left;transition:box-shadow .15s}.stat-card:hover{box-shadow:var(--shadow)}.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-value{font-size:20px;font-weight:700}.stat-label{font-size:12px;color:var(--text-muted)}.section{margin-bottom:24px}.section-title{font-size:16px;font-weight:600;margin-bottom:12px}.detail-layout{display:flex;gap:24px}.detail-main{flex:1;min-width:0}.detail-sidebar{width:260px;flex-shrink:0}.detail-sidebar-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}.detail-sidebar-section h4{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;letter-spacing:.05em}.detail-sidebar-section select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);outline:none}.detail-sidebar-section .inline-input,.detail-sidebar-section .btn{width:100%;margin-top:8px}.estimate-status-copy{margin-top:10px;color:var(--text-secondary);font-size:13px;line-height:1.45}.estimate-lifecycle-facts{display:grid;gap:10px}.estimate-lifecycle-facts>div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--border)}.estimate-lifecycle-facts>div:last-child{padding-bottom:0;border-bottom:0}.estimate-lifecycle-facts span{color:var(--text-muted);font-size:11px}.estimate-lifecycle-facts strong,.estimate-lifecycle-facts p{color:var(--text-primary);font-size:13px;overflow-wrap:anywhere}.invoice-total-box{display:grid;gap:7px;width:min(100%,320px);margin-left:auto;padding-top:4px}.invoice-total-box>div{display:flex;justify-content:space-between;gap:24px;color:var(--text-secondary);font-size:13px}.invoice-total-box>div:last-child{margin-top:2px;padding-top:9px;border-top:1px solid var(--border);color:var(--text-primary);font-size:15px}.payment-link{display:inline-block;margin-top:10px;font-size:12px;color:var(--primary);text-decoration:none}.detail-title-row{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.detail-customer-name{font-size:22px;font-weight:700;margin-bottom:16px}.detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.detail-meta-item{display:flex;flex-direction:column;gap:2px;font-size:13px}.detail-meta-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em}.detail-section{margin-top:24px}.detail-section h3{font-size:15px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:6px}.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}.treatment-save{height:34px}.upload-row,.mobile-actions-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.file-grid,.mobile-file-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.file-chip,.mobile-file-grid a{font-size:12px;color:var(--primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;text-decoration:none;background:var(--card-bg)}.detail-notes{font-size:13px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.status-buttons{display:flex;flex-direction:column;gap:4px}.status-btn{padding:6px 10px;font-size:12px;font-weight:500;text-transform:capitalize;border:1px solid var(--border);background:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:var(--font);transition:all .15s}.status-btn:hover{background:var(--row-hover)}.status-btn.active{background:var(--primary-light);border-color:var(--primary);color:var(--primary);font-weight:600}.note-input-row{display:flex;gap:8px;margin-bottom:12px}.note-input-row input{flex:1;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);outline:none}.note-input-row input:focus{border-color:var(--primary)}.notes-list{display:flex;flex-direction:column;gap:8px}.note-item{padding:10px 14px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.note-content{font-size:13px;margin-bottom:4px}.note-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);cursor:pointer;font-family:var(--font);transition:all .15s;white-space:nowrap}.btn:hover{background:var(--row-hover)}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{color:var(--danger);border-color:#fecaca}.btn-danger:hover{background:#fef2f2}.btn-back{border:none;padding:6px 8px;color:var(--text-secondary)}.btn-back:hover{color:var(--text);background:var(--row-hover)}.btn-sm{padding:4px 10px;font-size:12px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:all .15s}.btn-icon:hover{background:var(--row-hover);color:var(--text)}.btn-icon.danger:hover{background:#fef2f2;color:var(--danger)}.action-btns{display:flex;gap:4px;align-items:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:85vh;overflow-y:auto}.modal-sm{max-width:440px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px;font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.job-create-modal{max-width:720px}.job-form-body{display:grid;gap:0;padding:4px 20px}.job-form-section{min-width:0;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--border-subtle)}.job-form-section:last-child{border-bottom:0}.job-form-section legend{margin-bottom:10px;padding:0;color:var(--text);font-size:13px;font-weight:700}.job-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.job-form-grid>.form-group,.job-form-grid input,.job-form-grid select,.job-form-grid textarea{min-width:0;max-width:100%}.job-form-grid input,.job-form-grid select,.job-form-grid textarea{width:100%}.job-form-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.job-service-summary{display:flex;align-items:center;gap:12px;margin-top:10px;color:var(--text-secondary);font-size:12px}.job-service-summary strong{margin-left:auto;color:var(--text)}.form-grid{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group.full-width{grid-column:1 / -1}.form-group>span,.form-group>small{color:var(--text-secondary);font-size:12px}.form-group>span{font-weight:600}.form-group>small{font-size:11px}.form-group label{font-size:12px;font-weight:600;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);outline:none;transition:border-color .15s;background:var(--card-bg)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group textarea{resize:vertical}.inline-input{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);outline:none;width:100%}.inline-input:focus{border-color:var(--primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:12px;color:var(--text-muted);font-size:14px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0}.pagination-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);cursor:pointer;color:var(--text-secondary);transition:all .15s}.pagination-btn:hover:not(:disabled){background:var(--row-hover)}.pagination-btn:disabled{opacity:.4;cursor:default}.pagination-info{font-size:12px;color:var(--text-muted)}.error-banner{position:fixed;bottom:20px;right:20px;background:#fef2f2;border:1px solid #fecaca;color:var(--danger);padding:10px 16px;border-radius:var(--radius);font-size:13px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);z-index:200;max-width:400px}.error-close{border:none;background:none;color:var(--danger);cursor:pointer;padding:2px;flex-shrink:0}.inline-success{margin:0 0 14px;padding:9px 12px;border:1px solid #bbf7d0;border-radius:var(--radius-sm);background:#f0fdf4;color:#166534;font-size:13px}.inline-error{margin:0 0 12px;padding:9px 12px;border:1px solid #fecaca;border-radius:var(--radius-sm);background:#fef2f2;color:var(--danger);font-size:13px}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.schedule-day{background:var(--card-bg);min-height:160px;display:flex;flex-direction:column}.schedule-day.today{background:#f0fdf4}.schedule-day-header{padding:8px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle)}.schedule-day-name{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.schedule-day-num{font-size:13px;font-weight:600;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%}.schedule-day-num.today{background:var(--primary);color:#fff}.schedule-day-jobs{padding:4px;flex:1;display:flex;flex-direction:column;gap:3px;overflow-y:auto}.schedule-job{display:block;width:100%;text-align:left;padding:4px 8px;border:none;background:var(--bg);border-left:3px solid var(--primary);border-radius:3px;cursor:pointer;font-family:var(--font);transition:background .15s}.schedule-job:hover{background:var(--border-subtle)}.schedule-job-time{font-size:10px;font-weight:600;color:var(--text-muted)}.schedule-job-title{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-job-service{font-size:10px;color:var(--text-secondary)}.schedule-job-tech{font-size:10px;color:var(--text-muted)}.schedule-empty{font-size:11px;color:var(--text-muted);padding:8px;text-align:center}.checklist-list{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.checklist-item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:13px}.checklist-control{min-width:0;display:flex;align-items:center;gap:9px;cursor:pointer}.checklist-control input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--primary)}.checklist-add-row{margin:8px 0 0}.checklist-toggle{border:none;background:none;cursor:pointer;padding:0;display:flex;color:var(--text-secondary)}.checklist-done{text-decoration:line-through;color:var(--text-muted)}.table tfoot td{padding:8px 12px;border-top:1px solid var(--border);font-size:13px}[data-agent] .btn-icon{opacity:1!important}[data-agent] .table-row .action-btns{visibility:visible!important}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-panel{width:100%;max-width:390px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;justify-content:center;padding:4px 0 12px;margin-bottom:12px}.login-brand img{display:block;width:min(100%,340px);height:210px;object-fit:contain}.login-submit{width:100%;justify-content:center;margin-top:12px}.login-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:8px 10px;font-size:12px}.login-hint{margin-top:12px;font-size:12px;color:var(--text-muted)}.staff-account-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.staff-account-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(140px,1.2fr) minmax(150px,1.3fr) minmax(120px,1fr) 72px;gap:16px;align-items:center;min-height:68px;padding:10px 12px;border-top:1px solid var(--border-subtle);font-size:12px}.staff-account-row:first-child{border-top:0}.staff-account-row:not(.staff-account-head):hover{background:var(--row-hover)}.staff-account-head{min-height:34px;color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.staff-account-identity{min-width:0}.staff-account-identity strong,.staff-account-identity span,.staff-account-link,.staff-password-state{display:block}.staff-account-identity strong,.staff-account-identity span{overflow-wrap:anywhere}.staff-account-identity span,.staff-account-link,.staff-password-state{margin-top:3px;color:var(--text-muted)}.staff-password-state{color:#9a6700}.staff-account-form{display:grid;gap:14px;padding:20px}.staff-account-form .modal-footer{margin:2px -20px -20px}.checkbox-row{display:flex;align-items:center;gap:9px;min-height:36px;color:var(--text-secondary);font-size:12px;font-weight:600}.checkbox-row input{width:17px;height:17px;accent-color:var(--primary)}.password-change-screen>div{width:100%;max-width:390px}.password-change-panel{width:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow)}.modal .password-change-panel{border:0;border-radius:0;box-shadow:none}.password-change-panel>.form-group{margin:14px 20px}.password-change-panel .modal-header p{margin-top:3px;font-size:11px}.password-change-panel>.login-error{margin:0 20px 14px}.tech-shell{min-height:100vh;max-width:720px;margin:0 auto;background:var(--bg);padding:14px 14px 28px}.tech-header{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}.tech-brand{width:52px;height:65px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tech-brand img{display:block;width:100%;height:100%;object-fit:contain}.tech-heading{flex:1;min-width:0}.tech-header h1{font-size:22px;overflow-wrap:anywhere}.tech-kicker{font-size:12px;color:var(--text-muted);text-transform:uppercase;font-weight:700}.tech-actions{display:flex;gap:6px}.tech-route{display:flex;flex-direction:column;gap:10px}.tech-job-card,.mobile-card{width:100%;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.tech-job-card{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;text-align:left;padding:12px;cursor:pointer;font-family:var(--font)}.tech-job-time{font-size:13px;font-weight:700;color:var(--primary)}.tech-job-main{min-width:0}.tech-job-title{font-size:15px;font-weight:700}.tech-job-sub{font-size:12px;color:var(--text-secondary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tech-detail{display:flex;flex-direction:column;gap:12px}.tech-detail-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mobile-card{padding:14px}.mobile-card h2{font-size:18px;margin-bottom:8px}.mobile-card h3{font-size:15px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.mobile-check{width:100%;display:flex;align-items:center;gap:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);padding:9px 10px;text-align:left;margin-bottom:6px;font-family:var(--font);cursor:pointer}.mobile-check input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--primary)}.mobile-check.done span{color:var(--text-muted);text-decoration:line-through}.tech-scope-line{margin-top:4px;color:var(--text-secondary);font-size:12px}.tech-instructions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border-subtle);font-size:13px;white-space:pre-wrap}.tech-next-action{position:sticky;top:8px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(22,163,74,.3);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow-lg)}.tech-next-action small,.tech-next-action strong{display:block}.tech-next-action small{color:var(--text-muted);font-size:10px;text-transform:uppercase}.tech-next-action strong{font-size:13px}.tech-next-action .btn{flex:0 0 auto}details.tech-work-section{padding:0;overflow:hidden}.tech-work-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:12px 14px;cursor:pointer;list-style:none}.tech-work-section>summary::-webkit-details-marker{display:none}.tech-work-section>summary>span{display:flex;align-items:center;gap:10px;min-width:0}.tech-work-section>summary>span>span{min-width:0}.tech-work-section>summary strong,.tech-work-section>summary small{display:block}.tech-work-section>summary strong{font-size:14px}.tech-work-section>summary small{margin-top:1px;color:var(--text-secondary);font-size:11px}.tech-work-section>summary>svg:last-child{flex:0 0 auto;color:var(--text-muted);transition:transform .15s}.tech-work-section[open]>summary>svg:last-child:not(.step-complete){transform:rotate(90deg)}.tech-work-section .step-complete{color:var(--primary)}.tech-work-content{padding:14px;border-top:1px solid var(--border)}.tech-work-content>.detail-section{margin-top:0}.tech-work-content>.detail-section+.detail-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-subtle)}.tech-work-content .service-report-section>.section-heading-row{align-items:center}.compact-subsection{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-subtle)}.compact-subsection>summary{color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer}.compact-subsection[open]>summary{margin-bottom:8px;color:var(--text)}.evidence-photo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.evidence-photo-row>span{color:var(--text-muted);font-size:11px}.job-detail-page .detail-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-subtle)}.job-detail-page .detail-section:first-child{border-top:0}.job-detail-page .detail-section h3{margin-bottom:10px}.job-supply-table{margin-bottom:10px;overflow-x:auto}.job-supply-table .table{min-width:620px}.job-supply-editor{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle)}.job-stock-source{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:12px}.job-stock-source strong{color:var(--text)}.job-supply-controls{display:grid;grid-template-columns:minmax(220px,1fr) 110px auto;gap:10px;align-items:end}.job-supply-actions{display:flex;gap:6px;min-height:34px;align-items:center}.job-supply-error{margin:0}.job-stock-empty{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-secondary);font-size:12px}.compact-empty{margin:0;color:var(--text-muted);font-size:13px}.mobile-line,.mobile-payment-row,.mobile-material-row{display:flex;gap:8px;align-items:center;margin-top:8px}.mobile-line{justify-content:space-between;font-size:13px}.mobile-material-row select,.mobile-payment-row select,.mobile-material-row input{min-width:0;flex:1;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg)}.mobile-material-row input{max-width:74px}.mobile-alert{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:var(--radius);padding:10px 12px;margin-bottom:10px;font-size:13px}.mobile-alert.danger{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.line-editor{display:grid;gap:10px;margin-top:12px}.line-editor-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px 110px 90px;gap:8px;align-items:center}.line-editor-row input{min-width:0}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.inventory-grid>.card{padding:16px}.inventory-grid>.card h3,.inventory-table-card h3{display:flex;align-items:center;gap:7px;font-size:15px;margin-bottom:12px}.inventory-form{display:grid;gap:8px}.inventory-form select,.inventory-form input{width:100%}.inventory-form .btn{width:100%;justify-content:center;margin-top:2px}.inventory-table-card{overflow-x:auto;margin-bottom:16px}.inventory-table-card h3{padding:16px 16px 0}.inventory-table-card .table{min-width:680px}.job-mobile-list{display:none}.job-mobile-item{position:relative;width:100%;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.job-mobile-header,.job-mobile-meta,.job-mobile-service{display:flex}.job-mobile-header{align-items:center;justify-content:space-between;gap:10px}.job-mobile-customer{display:block;margin-top:12px;font-size:15px;overflow-wrap:anywhere}.job-mobile-service{align-items:flex-start;flex-direction:column;gap:2px;margin-top:4px;color:var(--text-secondary);font-size:13px}.job-mobile-service small{color:var(--text-muted)}.job-mobile-meta{flex-direction:column;gap:6px;margin-top:12px;padding-right:90px;color:var(--text-secondary);font-size:12px}.job-mobile-meta span{display:flex;align-items:center;gap:6px}.job-mobile-price{position:absolute;right:14px;bottom:14px;color:var(--text);font-size:14px}.mobile-stock-list{display:grid;gap:6px;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:8px}.contract-mobile-list{display:none}.contract-mobile-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.contract-mobile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.contract-mobile-header strong{overflow-wrap:anywhere}.contract-mobile-item dl{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contract-mobile-item dt{color:var(--text-muted);font-size:11px;text-transform:uppercase}.contract-mobile-item dd{margin-top:2px;font-size:13px;text-transform:capitalize;overflow-wrap:anywhere}.contract-mobile-actions{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);display:flex;gap:8px}.contract-mobile-actions .btn{flex:1;justify-content:center}.public-document-shell{min-height:100vh;padding:32px 16px;background:#f7f8f4}.public-document{width:min(100%,720px);margin:0 auto;background:var(--card-bg);border:1px solid #e7e2d6;border-top:4px solid var(--brand-green);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.public-document-header,.public-document-title,.public-estimate-meta,.public-lines,.public-totals,.public-notes,.public-document-download,.public-decision-actions,.public-decision-result,.public-document-footer{margin-left:32px;margin-right:32px}.public-document-header{min-height:118px;padding:22px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.public-brand{display:flex;align-items:center;gap:12px;min-width:0}.public-brand img{width:62px;height:78px;object-fit:contain;flex-shrink:0}.public-brand strong,.public-brand span{display:block;line-height:1.25}.public-brand strong{color:#315c28;font-size:15px}.public-brand span{margin-top:4px;color:var(--brand-copper);font-size:11px}.public-document-id{text-align:right;flex-shrink:0}.public-document-id span,.public-document-id strong{display:block}.public-document-id span{color:var(--text-muted);font-size:11px;text-transform:uppercase}.public-document-id strong{margin-top:4px;color:var(--text);font-size:14px}.public-document-title{padding:24px 0 20px;border-top:1px solid #e7e2d6;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.public-document-title p{color:var(--text-secondary);font-size:13px}.public-document-title h1{margin-top:4px;font-size:24px}.public-estimate-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e7e2d6;border:1px solid #e7e2d6}.public-estimate-meta div{padding:12px 14px;background:#fafaf7}.public-estimate-meta dt{color:var(--text-muted);font-size:11px;text-transform:uppercase}.public-estimate-meta dd{margin-top:3px;color:var(--text);font-size:13px;text-transform:capitalize}.public-lines{padding-top:22px}.public-line{min-height:62px;padding:12px 0;border-bottom:1px solid #e7e2d6;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.public-line div{min-width:0}.public-line div strong,.public-line div span{display:block;overflow-wrap:anywhere}.public-line div span{margin-top:3px;color:var(--text-secondary);font-size:12px}.public-totals{width:min(calc(100% - 64px),320px);margin-top:18px;margin-left:auto}.public-totals div{display:flex;justify-content:space-between;gap:20px;padding:4px 0;font-size:13px}.public-totals span{color:var(--text-secondary)}.public-totals .public-total{margin-top:6px;padding-top:10px;border-top:1px solid #e7e2d6;font-size:18px}.public-totals .public-total span{color:var(--text)}.public-totals .public-total strong{color:var(--brand-copper)}.public-notes{margin-top:22px;padding:14px 16px;background:#fff9ea;border-left:3px solid var(--brand-gold);font-size:13px}.public-notes p{margin-top:4px;color:var(--text-secondary);white-space:pre-wrap}.public-document-download{margin-top:22px;display:flex;justify-content:flex-end}.public-document-download .btn{min-height:40px}.public-decision-actions{margin-top:26px;padding:20px 0 28px;border-top:1px solid #e7e2d6;display:flex;gap:10px}.public-decision-actions .btn{min-height:42px;justify-content:center}.public-decision-actions .btn-primary{background:var(--brand-bronze);border-color:var(--brand-bronze)}.public-decision-result{margin-top:26px;margin-bottom:28px;padding:14px 16px;border:1px solid #bbf7d0;background:#f0fdf4;color:#166534;font-size:13px}.public-decision-result.declined{border-color:#e5e7eb;background:#f9fafb;color:var(--text-secondary)}.public-document-footer{margin:0;padding:20px 32px 24px;border-top:1px solid #e7e2d6;background:#fafaf7;display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:11px}.public-document-footer strong{color:var(--text);font-size:11px}.public-document-footer a{color:var(--brand-bronze);text-decoration:none}.public-message{padding:36px 32px;text-align:center}.public-message img{width:72px;height:90px;object-fit:contain}.public-message h1{margin-top:16px;font-size:22px}.public-message p{margin-top:8px;color:var(--text-secondary)}.public-message a{display:inline-block;margin-top:16px;color:var(--brand-bronze)}.record-fieldset{border:0;padding:0;margin:0;min-width:0}.locked-notice{margin-bottom:12px;padding:10px 12px;border-left:3px solid var(--brand-gold);background:var(--surface-subtle);color:var(--text-secondary);font-size:13px}.signoff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.reopen-panel{display:grid;gap:8px}.section-heading-row,.report-title-row,.form-builder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading-row h3,.form-builder-heading h3{margin-bottom:0}.report-add-row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.report-add-row select{min-width:220px}.service-report-list{display:grid;gap:12px}.report-add-another{margin-bottom:10px}.service-report-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);overflow:hidden}.report-disclosure{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;cursor:pointer;list-style-position:inside;color:var(--text-secondary);font-size:12px}.report-disclosure>span:first-child{min-width:0;display:inline-flex;align-items:center;gap:8px;color:var(--text)}.report-disclosure strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-editor-body{padding:0 14px 14px;border-top:1px solid var(--border-subtle)}.treatment-entry-panel{margin-top:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--surface-subtle)}.report-title-row>div{display:flex;align-items:center;gap:8px}.report-field-grid,.treatment-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.treatment-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.report-checkbox{min-height:44px;flex-direction:row;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);cursor:pointer;touch-action:manipulation}.report-checkbox input,.report-choice input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--primary)}.report-choice-fieldset{min-width:0;padding:0;margin:0;border:0}.report-choice-fieldset legend{margin-bottom:6px;font-size:12px;font-weight:600;color:var(--text-secondary)}.report-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.report-choice{min-height:44px;display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);cursor:pointer;touch-action:manipulation;transition:border-color .15s,background-color .15s}.report-choice:hover{border-color:var(--text-muted)}.report-choice:focus-within{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:1px}.report-choice.selected{border-color:var(--primary);background:var(--surface-subtle)}.treatment-record{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.treatment-record div,.treatment-record span{display:block}.treatment-record span{color:var(--text-secondary);font-size:12px}.signature-pad{margin-top:12px}.signature-pad canvas{display:block;width:100%;height:150px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;touch-action:none;cursor:crosshair}.signature-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.saved-signature{display:block;width:100%;max-width:560px;max-height:180px;margin-top:8px;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}.completion-review{display:grid;gap:16px}.completion-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.completion-summary>div{min-width:0;padding:11px 12px;border-bottom:1px solid var(--border-subtle)}.completion-summary>div:nth-child(odd){border-right:1px solid var(--border-subtle)}.completion-summary span,.completion-summary strong{display:block}.completion-summary span{margin-bottom:3px;color:var(--text-secondary);font-size:11px}.completion-summary strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.completion-answer-review{display:grid;gap:14px}.completion-answer-review section{padding-bottom:12px;border-bottom:1px solid var(--border)}.completion-answer-review h4{margin:0 0 8px;font-size:13px}.completion-answer-review section>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.7fr);gap:12px;padding:6px 0;font-size:12px}.completion-answer-review span{color:var(--text-secondary)}.completion-answer-review strong{overflow-wrap:anywhere;font-weight:600}.completion-signoff-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.completion-signoff-fields>.full-width{grid-column:1 / -1}.completion-signoff-fields small{color:var(--text-secondary);font-size:11px;line-height:1.45}.completion-acknowledgement{display:flex;align-items:flex-start;gap:9px;padding:12px;border-left:3px solid var(--brand-gold);background:var(--surface-subtle);color:var(--text-secondary);font-size:12px;line-height:1.55}.completion-acknowledgement input{flex:0 0 auto;margin-top:3px}.signature-state{padding:8px 10px;border:1px solid #fecaca;color:#991b1b;font-size:12px}.signature-state.ready{border-color:#bbf7d0;color:#166534}.completion-submit{justify-self:end}.completion-document-list{display:grid;gap:12px}.completion-document{padding:12px 0;border-top:1px solid var(--border)}.completion-document-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.completion-document-heading strong,.completion-document-heading span{display:block}.completion-document-heading span{margin-top:2px;color:var(--text-secondary);font-size:11px;text-transform:capitalize}.completion-deliveries{display:grid;gap:6px;margin-top:10px}.completion-deliveries>div{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:12px}.completion-deliveries strong{font-size:11px;text-transform:capitalize}.completion-deliveries small{grid-column:2 / -1;overflow:hidden;color:#991b1b;text-overflow:ellipsis;white-space:nowrap}.delivery-sent{color:#166534}.delivery-failed,.delivery-cancelled{color:#991b1b}.delivery-queued,.delivery-retrying,.delivery-sending{color:#92400e}.template-list{display:grid;gap:8px}.template-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.template-row.inactive{opacity:.55}.template-row p{margin:3px 0;color:var(--text-secondary);font-size:13px}.template-title{display:flex;align-items:center;gap:8px}.service-category-label{color:var(--brand-bronze);font-size:11px;text-transform:capitalize}.report-template-modal{width:min(960px,calc(100vw - 32px))}.form-builder-heading{margin:18px 0 8px}.form-builder-list{display:grid;gap:8px}.form-builder-row{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(110px,1fr) 130px minmax(140px,1fr) auto auto;gap:8px;align-items:center}.form-builder-row input,.form-builder-row select{min-width:0}.builder-required{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px}.billing-summary,.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:20px}.billing-summary>div,.owner-metric{min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg)}.billing-summary span,.owner-metric span{display:block;color:var(--text-muted);font-size:11px;text-transform:uppercase}.billing-summary strong,.owner-metric strong{display:block;margin-top:3px;font-size:17px;overflow-wrap:anywhere}.billing-summary .billing-balance{border-color:#ba751573}.billing-summary .billing-balance strong{color:var(--brand-copper)}.payment-refunded{display:block;color:var(--danger);font-weight:400;font-size:10px}.ledger-action-row{display:grid;grid-template-columns:130px minmax(180px,1fr) auto auto;gap:8px;margin-top:10px;align-items:center}.ledger-list{border-top:1px solid var(--border)}.ledger-list>div{position:relative;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.ledger-list span{color:var(--text-secondary);font-size:12px}.ledger-list strong{float:right}.ledger-list strong small{color:var(--text-muted);font-weight:500}.ledger-list p{margin-top:3px;font-size:12px}.ledger-list .btn{margin-top:5px}.compact-label{display:grid;gap:5px;color:var(--text-secondary);font-size:12px}.compact-label input,.detail-sidebar-section>input{width:100%}.sidebar-button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn-full{width:100%;justify-content:center}.billing-note{margin-top:8px;color:var(--text-secondary);font-size:11px;overflow-wrap:anywhere}.billing-note.error{color:var(--danger)}.billing-bank-note{display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary)}.billing-bank-note p{font-size:11px}.payment-method-list{border-top:1px solid var(--border)}.payment-method-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;min-height:54px;border-bottom:1px solid var(--border-subtle)}.payment-method-row div{min-width:0}.payment-method-row strong,.payment-method-row span{display:block}.payment-method-row span{color:var(--text-secondary);font-size:11px}.default-payment-label{display:flex!important;align-items:center;gap:4px;color:var(--brand-bronze)!important}.checkbox-setting{flex-direction:row;align-items:flex-start;gap:9px}.checkbox-setting span,.checkbox-setting small{display:block}.checkbox-setting small{margin-top:2px;color:var(--text-secondary);font-weight:400}.report-filter-bar{display:flex;align-items:flex-end;gap:10px;padding:12px 0;margin-bottom:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.report-filter-bar label{display:grid;gap:4px;color:var(--text-secondary);font-size:11px}.report-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.owner-metric small{display:block;color:var(--primary);font-size:11px}.owner-report-section{padding:20px 0;border-top:1px solid var(--border)}.owner-report-heading{margin-bottom:12px}.owner-report-heading h2{font-size:16px}.owner-report-heading p{margin-top:2px;color:var(--text-secondary);font-size:12px}.report-table-wrap{max-width:100%;overflow-x:auto}.report-bar-list{display:grid;gap:12px}.report-bar-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px;font-size:12px}.report-bar-label strong{text-align:right}.report-bar-track{height:7px;overflow:hidden;border-radius:4px;background:var(--border-subtle)}.report-bar-track span{display:block;height:100%;border-radius:inherit;background:var(--brand-gold)}.accounting-page{max-width:1440px}.accounting-tab-bar,.accounting-report-tabs{display:flex;gap:20px;overflow-x:auto;border-bottom:1px solid var(--border)}.accounting-tab-bar button,.accounting-report-tabs button{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:9px 1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer}.accounting-tab-bar button:hover,.accounting-report-tabs button:hover{color:var(--text)}.accounting-tab-bar button.active,.accounting-report-tabs button.active{border-bottom-color:var(--primary);color:var(--text)}.accounting-date-filter{border-top:0}.accounting-metrics,.accounting-reconcile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px}.accounting-reconcile-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.accounting-metric{display:grid;grid-template-columns:20px 1fr;align-items:center;min-width:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg)}.accounting-metric>svg{grid-row:1 / 4;color:var(--text-muted)}.accounting-metric>span{color:var(--text-muted);font-size:10px;text-transform:uppercase}.accounting-metric>strong{min-width:0;overflow-wrap:anywhere;font-size:17px}.accounting-metric>small{color:var(--text-secondary);font-size:10px}.accounting-metric.positive>svg,.accounting-metric.positive>strong{color:var(--primary)}.accounting-metric.negative>svg,.accounting-metric.negative>strong{color:var(--danger)}.accounting-section{padding:20px 0;border-top:1px solid var(--border)}.accounting-section-first{padding-top:2px;border-top:0}.accounting-section-heading,.accounting-detail-heading,.accounting-line-footer,.accounting-report-totals{display:flex;align-items:center;justify-content:space-between;gap:12px}.accounting-section-heading{margin-bottom:12px}.accounting-section-heading h2{font-size:16px}.accounting-section-heading p{margin-top:2px;color:var(--text-secondary);font-size:11px}.accounting-action-row,.accounting-inline-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.accounting-config-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.accounting-config-grid>div{display:grid;gap:3px;min-width:0;padding:11px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.accounting-config-grid span,.accounting-policy-strip strong{color:var(--text-muted);font-size:10px;text-transform:uppercase}.accounting-config-grid strong{overflow-wrap:anywhere;font-size:12px}.accounting-config-grid small{color:var(--text-secondary);font-size:10px}.accounting-warning-list{display:grid;gap:6px;margin-top:10px}.accounting-warning-list>div{display:flex;align-items:flex-start;gap:7px;color:#92400e;font-size:11px;line-height:1.45}.accounting-warning-list svg{flex:0 0 auto;margin-top:1px}.accounting-policy-strip{display:flex;gap:8px 18px;flex-wrap:wrap;margin-bottom:16px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:11px}.accounting-policy-strip span{display:inline-flex;gap:5px}.accounting-inline-controls select,.accounting-report-account select,.accounting-line-row select,.accounting-line-row input{min-width:0;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text);font:13px var(--font)}.account-group-row td{background:var(--border-subtle);font-weight:600}.account-child{display:inline-flex;align-items:center;gap:2px}.account-inactive,.table-secondary{display:block;margin-top:2px;color:var(--text-muted);font-size:10px;font-weight:400}.empty-inline{padding:24px;color:var(--text-muted);text-align:center;font-size:12px}.status-success{border-color:#16a34a38;background:var(--primary-light);color:var(--primary)}.accounting-journal-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.table-row.selected td{background:var(--primary-light)}.accounting-journal-detail{position:sticky;top:18px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg)}.accounting-detail-heading{align-items:flex-start}.accounting-detail-heading h3{margin-top:4px;font-size:14px}.accounting-journal-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0}.accounting-journal-detail dl div{min-width:0}.accounting-journal-detail dt{color:var(--text-muted);font-size:10px;text-transform:uppercase}.accounting-journal-detail dd{overflow-wrap:anywhere;font-size:12px}.accounting-journal-detail .btn-full{margin-top:12px}.accounting-modal-wide{max-width:980px}.accounting-journal-form{display:block}.accounting-journal-form>.form-group{margin-bottom:14px}.accounting-lines{display:grid;gap:6px}.accounting-line-head,.accounting-line-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(150px,1fr) 120px 120px 30px;gap:7px;align-items:center}.accounting-line-head{padding:0 2px;color:var(--text-muted);font-size:10px;text-transform:uppercase}.accounting-line-footer{justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px}.accounting-line-footer .btn{margin-right:auto}.accounting-line-footer strong{color:var(--text)}.accounting-report-tabs{margin-bottom:14px;gap:16px}.accounting-report-account{display:flex;align-items:flex-end;gap:8px;margin-bottom:12px}.accounting-report-account label{display:grid;gap:4px;color:var(--text-secondary);font-size:11px}.accounting-report-account select{min-width:260px}.accounting-report-totals{justify-content:flex-start;flex-wrap:wrap;padding:10px 0;color:var(--text-secondary);font-size:12px}.accounting-report-totals span{padding-right:16px;border-right:1px solid var(--border)}.accounting-report-totals strong{color:var(--text)}.accounting-report-table{margin-top:4px}.price-book-page{max-width:1440px}.price-book-overview{display:flex;gap:24px;margin-bottom:14px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px}.price-book-overview strong{margin-right:4px;color:var(--text);font-size:15px}.price-book-controls{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:center;margin-bottom:14px}.search-field{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-muted)}.search-field:focus-within{border-color:var(--primary)}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit}.segmented-control{display:inline-flex;min-width:0;padding:3px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#f3f4f6}.segmented-control button{min-height:28px;padding:4px 10px;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.segmented-control button.active{background:var(--card-bg);color:var(--primary-hover);box-shadow:0 1px 2px #00000014;font-weight:700}.compact-checkbox{display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:12px;white-space:nowrap}.compact-checkbox input{accent-color:var(--primary)}.price-book-table-shell{overflow:hidden}.price-book-table{table-layout:auto}.price-book-table th:first-child,.price-book-table td:first-child{width:38px;padding-right:0}.price-book-table th:last-child,.price-book-table td:last-child{width:78px}.price-book-table td{vertical-align:middle}.price-book-service-name{display:flex;align-items:center;gap:10px;width:100%;min-width:210px;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.price-book-service-name>span:last-child,.price-book-service-name strong,.price-book-service-name small{display:block}.price-book-service-name strong{font-size:13px}.price-book-service-name small{margin-top:2px;color:var(--text-muted);font-size:10px}.table-cell-detail{display:block;margin-top:2px;color:var(--text-muted);font-size:10px;font-weight:400}.archived-row{opacity:.6}.review-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;background:#ecfdf3;color:#137a3b;font-size:10px;font-weight:700;text-transform:capitalize}.review-badge.review-review{background:#fff8e1;color:var(--brand-bronze)}.review-badge.review-hold{background:#fef2f2;color:var(--danger)}.price-book-expanded-row td{padding-top:0;background:#fbfcfd}.price-book-expanded-content{padding:4px 0 16px}.price-book-expanded-content>p{max-width:820px;margin-bottom:12px;color:var(--text-secondary);font-size:12px}.price-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;max-width:960px;border-top:1px solid var(--border)}.price-tier-grid>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:12px}.price-tier-grid span{color:var(--text-secondary)}.flat-price-detail{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border-subtle)}.flat-price-detail span{color:var(--text-secondary);font-size:12px}.source-reference{display:block;margin-top:10px;color:var(--text-muted)}.price-book-modal{display:flex;flex-direction:column;width:min(860px,calc(100vw - 32px));max-width:860px;overflow:hidden}.price-book-modal .modal-header{flex:0 0 auto}.price-book-modal .modal-header small{display:block;margin-top:2px;color:var(--text-muted)}.price-book-modal form{display:flex;min-height:0;flex:1;flex-direction:column}.price-book-form-body{min-height:0;overflow-y:auto;padding:20px}.price-book-form-body>.form-grid{padding:0}.price-mode-section{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.section-heading-row h3{font-size:14px}.section-heading-row p{margin-top:2px;color:var(--text-secondary);font-size:11px}.price-mode-section>.segmented-control{margin-bottom:14px}.tier-editor{border-top:1px solid var(--border)}.tier-editor-head,.tier-editor-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 32px;gap:10px;align-items:center}.tier-editor-head{min-height:30px;color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.tier-editor-row{min-height:48px;border-top:1px solid var(--border-subtle)}.tier-editor-row>div:first-child{min-width:0}.tier-editor-row>div:first-child input{width:100%;padding:4px 0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}.tier-editor-row>div:first-child input:focus{box-shadow:inset 0 -1px var(--primary)}.tier-editor-row small{display:block;color:var(--text-muted);font-size:9px}.tier-editor>.btn{margin-top:10px}.input-prefix,.input-suffix{display:flex;align-items:center;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);overflow:hidden}.input-prefix:focus-within,.input-suffix:focus-within{border-color:var(--primary)}.input-prefix>span,.input-suffix>span{padding:0 8px;color:var(--text-muted);font-size:11px;white-space:nowrap}.input-prefix input,.input-suffix input{width:100%;min-width:0;border:0!important;border-radius:0!important;outline:0}.price-flat-grid{padding:0}.price-book-advanced{margin-top:18px;border-top:1px solid var(--border)}.price-book-advanced summary{padding:14px 0;color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer}.price-book-advanced .form-grid{padding:0 0 4px}.price-book-advanced .checkbox-setting{display:flex}.price-book-advanced input[type=color]{min-height:35px;padding:3px}@media(max-width:1024px){.modal-overlay{padding:10px}.modal,.job-create-modal{max-height:calc(100dvh - 20px)}.btn,.btn-sm,.filter-btn,.status-btn,.pagination-btn{min-height:44px}.btn-icon{width:44px;height:44px;flex-shrink:0}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:44px;font-size:16px}.job-form-body{padding:2px 16px}.job-form-grid,.job-form-grid-four,.job-supply-controls{grid-template-columns:minmax(0,1fr)}.job-service-summary{flex-wrap:wrap}.job-service-summary strong{margin-left:0}.job-supply-actions .btn{flex:1;justify-content:center}.job-stock-empty{align-items:stretch;flex-direction:column}.report-disclosure>span:last-child{display:none}.price-book-overview{flex-wrap:wrap;gap:8px 18px}.price-book-controls{grid-template-columns:minmax(0,1fr)}.price-book-category-filter{max-width:100%;overflow-x:auto}.compact-checkbox{min-height:32px}.price-book-table-shell{overflow:visible}.table.price-book-table{display:block;min-width:0}.price-book-table thead{display:none}.price-book-table tbody{display:grid;gap:8px}.price-book-table tr.table-row{display:grid;grid-template-columns:30px minmax(0,1fr) 64px;grid-template-rows:auto auto auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg)}.price-book-table tr.table-row td{display:block;width:auto;padding:10px 8px;border:0}.price-book-table tr.table-row td:first-child{grid-column:1;grid-row:1;padding-right:0}.price-book-table tr.table-row td:nth-child(2){grid-column:2;grid-row:1}.price-book-table tr.table-row td:nth-child(3),.price-book-table tr.table-row td:nth-child(4){display:none}.price-book-table tr.table-row td:nth-child(5){grid-column:2;grid-row:2;padding-top:0}.price-book-table tr.table-row td:nth-child(6){grid-column:2;grid-row:3;padding-top:0}.price-book-table tr.table-row td:last-child{grid-column:3;grid-row:1 / span 3;align-self:start;padding-left:0}.price-book-table tr.table-row .action-btns{justify-content:flex-end}.price-book-service-name{min-width:0}.price-book-expanded-row{display:block;margin:-9px 8px 8px;border:1px solid var(--border);border-top:0;background:#fbfcfd}.price-book-expanded-row>td:first-child{display:none}.price-book-expanded-row>td:last-child{display:block;padding:10px}.price-tier-grid{grid-template-columns:minmax(0,1fr)}.price-book-modal{width:100%;max-height:calc(100dvh - 20px)}.price-book-form-body{padding:16px}.price-mode-section>.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.price-mode-section>.segmented-control button{white-space:normal}.tier-editor-head,.tier-editor-row{grid-template-columns:minmax(0,1fr) 112px 28px;gap:7px}.section-heading-row{align-items:flex-start}.line-editor-row,.inventory-grid{grid-template-columns:1fr}.layout{display:block}.sidebar{width:100%;height:auto;max-height:none;top:0;z-index:30;border-right:none;border-bottom:1px solid var(--border);overflow:hidden}.sidebar-brand{padding:6px 12px}.sidebar-brand img{width:36px;height:44px}.sidebar-mobile-logout{display:inline-flex}.sidebar-nav{display:flex;gap:4px;padding:4px 8px 8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-section-title,.sidebar-footer{display:none}.sidebar-item{position:relative;flex:0 0 76px;width:76px;justify-content:center;flex-direction:column;font-size:11px;min-height:50px;padding:5px 4px;text-align:center}.sidebar-badge{position:absolute;top:3px;right:3px;margin-left:0}.sidebar-external-icon{display:none}.sidebar-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.page{padding:16px;max-width:none}.service-report-editor input:not([type=checkbox]),.service-report-editor select,.service-report-editor textarea{min-height:44px;font-size:16px}.page-header{align-items:stretch;flex-direction:column}.page-header-actions{align-items:stretch}.page-header-actions .btn{flex:1;justify-content:center}.staff-account-head{display:none}.staff-account-list{display:grid;gap:8px;border:0}.staff-account-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;min-height:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg)}.staff-account-row>:nth-child(1){grid-column:1;grid-row:1}.staff-account-row>:nth-child(2),.staff-account-row>:nth-child(3),.staff-account-row>:nth-child(4){grid-column:1 / -1}.staff-account-row>:nth-child(5){grid-column:2;grid-row:1}.job-table-view{display:none}.job-mobile-list{display:grid;gap:10px}.page-header-right,.toolbar,.note-input-row{align-items:stretch;flex-direction:column}.search-box{max-width:none}.detail-layout{display:block}.detail-sidebar{width:auto;margin-top:18px}.detail-meta-grid,.form-grid,.treatment-grid,.signoff-grid,.completion-summary,.completion-signoff-fields,.report-field-grid,.treatment-entry-grid{grid-template-columns:1fr}.completion-summary>div:nth-child(odd){border-right:0}.completion-answer-review section>div{grid-template-columns:1fr;gap:2px}.completion-submit{justify-self:stretch}.completion-document-heading{align-items:flex-start}.billing-summary,.report-summary-grid,.accounting-metrics,.accounting-reconcile-summary,.accounting-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-policy-strip{display:grid;grid-template-columns:1fr 1fr}.accounting-journal-layout{grid-template-columns:1fr}.accounting-journal-detail{position:static}.accounting-section-heading{align-items:stretch;flex-direction:column}.accounting-section-heading .page-header-right{flex-direction:row}.accounting-inline-controls{align-items:stretch}.accounting-inline-controls select{flex:1}.accounting-line-head{display:none}.accounting-line-row{grid-template-columns:1fr 1fr 34px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.accounting-line-row select,.accounting-line-row input:nth-of-type(1){grid-column:1 / -1}.accounting-line-row .btn-icon{grid-column:3;grid-row:3}.accounting-line-footer{align-items:flex-start;flex-direction:column}.accounting-line-footer .btn{margin-right:0}.accounting-report-account{align-items:stretch;flex-direction:column}.accounting-report-account select,.accounting-report-account .btn{width:100%;min-width:0}.report-filter-bar,.report-add-row,.report-actions,.signature-actions{align-items:stretch;flex-direction:column}.report-filter-bar label,.report-filter-bar input,.report-filter-bar .btn,.report-add-row select,.report-add-row .btn{width:100%}.form-builder-row,.ledger-action-row{grid-template-columns:1fr}.mobile-payment-row{align-items:stretch;flex-direction:column}.mobile-payment-row input,.mobile-payment-row select,.mobile-payment-row .btn{width:100%;max-width:none}.card{overflow-x:auto}.table{min-width:680px}.schedule-grid{display:flex;flex-direction:column}.schedule-day{min-height:90px}.public-document-shell{padding:0}.public-document{min-height:100vh;border-left:none;border-right:none;border-bottom:none;border-radius:0}.public-document-header,.public-document-title,.public-estimate-meta,.public-lines,.public-totals,.public-notes,.public-document-download,.public-decision-actions,.public-decision-result{margin-left:18px;margin-right:18px}.public-brand div{display:none}.public-estimate-meta{grid-template-columns:1fr}.public-document-download .btn{width:100%;justify-content:center}.public-decision-actions{flex-direction:column}.public-decision-actions .btn{width:100%}.public-document-footer{padding-left:18px;padding-right:18px}.contract-table-view{display:none}.contract-mobile-list{display:grid;gap:10px}}
