.job-modal-related-nav{margin:0 0 .75rem}.job-modal{display:flex;flex-direction:column;gap:1rem;background:transparent;border-radius:0;padding:.15rem 0 0;max-width:none;width:100%;max-height:none;overflow:visible}.job-modal .ui-info-card{box-shadow:none}.job-modal .ui-info-card-title{font-size:1rem}.job-modal-record-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.job-modal-section-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.job-modal-actions-feedback{display:flex;flex-direction:column;gap:.35rem}.job-modal h3{color:#1a472a;margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.job-modal h4{color:#1a472a;margin:0 0 .75rem;font-size:1rem;font-weight:600}.job-modal label{display:block;color:#333;margin-bottom:1rem;font-weight:500;font-size:.95rem}.job-modal input[type=text],.job-modal input[type=date],.job-modal input[type=time],.job-modal input[type=file],.job-modal select,.job-modal textarea{display:block;width:100%;padding:.75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:1rem;box-sizing:border-box;margin-top:.35rem;font-family:inherit}.job-modal textarea{resize:vertical}.job-modal-section{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--mrrg-border, #e0e0e0)}.job-modal-section:last-of-type{border-bottom:none}.job-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.job-types-fieldset{border:1px solid #d0d0d0;border-radius:6px;padding:.75rem 1rem 1rem;margin:0 0 1rem}.job-types-fieldset legend{color:#333;font-weight:500;padding:0 .25rem;font-size:.95rem}.job-types-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.job-type-option{display:flex;align-items:center;gap:.5rem;font-weight:400;font-size:.9rem;margin-bottom:0;cursor:pointer}.job-type-option input{width:auto;margin:0}.job-modal-link-btn{background:none;border:none;padding:0;margin:0;color:#2d6b4d;text-decoration:underline;cursor:pointer;font:inherit}.job-modal-link-btn:focus-visible{outline:2px solid #2d6b4d;outline-offset:2px}.job-customer-selection .job-customer-search-results{list-style:none;padding:0;margin:.5rem 0;max-height:12rem;overflow-y:auto;border:1px solid var(--border-color, #ddd);border-radius:4px}.job-customer-selection .job-customer-search-results li{border-bottom:1px solid var(--border-color, #eee)}.job-customer-selection .job-customer-search-results button{width:100%;text-align:left;padding:.5rem .75rem}.job-customer-preview{margin:.75rem 0;padding:.75rem;background:var(--panel-muted, #f5f5f5);border-radius:4px}.job-customer-inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0}.job-modal-hint{color:#888;font-size:.9rem;margin:0}.job-modal-readonly-workers{color:#333;font-weight:500}.job-modal-loading{color:#666;text-align:center;padding:2rem 0}.job-modal-error{color:#dc3545;margin:0 0 1rem;font-size:.95rem}.photo-upload input[type=file],.photo-file-input{padding:.5rem;font-size:.9rem;margin-top:.5rem}.photo-group{margin-bottom:1rem}.photo-group-label{margin:0 0 .5rem;font-weight:500;font-size:.95rem}.photo-grid{display:flex;flex-wrap:wrap;gap:.75rem}.photo-thumb{position:relative;width:120px;height:120px}.photo-action{position:absolute;top:4px;width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.photo-download{left:4px;background:#ffffffeb;color:#333}.photo-download:hover{background:#fff}.photo-delete{right:4px;background:#dc3545eb;color:#fff;font-size:18px;font-weight:700}.photo-delete:hover{background:#dc3545}.photo-preview{display:block;width:120px;height:120px;border-radius:6px;object-fit:cover}.job-modal-actions{display:grid;gap:.75rem;margin-top:.75rem;position:sticky;bottom:0;background:linear-gradient(180deg,#fff0,#fff 24%);padding-top:.5rem}.job-modal-actions-secondary{display:flex;flex-wrap:wrap;gap:.5rem}.job-modal-actions-primary{display:flex;flex-wrap:nowrap;align-items:stretch;gap:.65rem;padding-top:.65rem;border-top:1px solid var(--mrrg-border, #e0e0e0);overflow:visible}.job-modal-more-actions{position:relative;flex:1 1 auto;min-width:8rem}.job-modal-more-actions-trigger{width:100%}.job-modal-more-actions-menu{position:absolute;right:0;bottom:calc(100% + .35rem);z-index:20;min-width:12rem;margin:0;padding:.35rem 0;list-style:none;background:#fff;border:1px solid var(--mrrg-border-strong, #c8c8c8);border-radius:8px;box-shadow:0 8px 24px #0000001f}.job-modal-more-actions-item{display:block;width:100%;text-align:left;padding:.65rem 1rem;border:none;background:transparent;font:inherit;cursor:pointer}.job-modal-more-actions-item:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:-2px}.job-modal-more-actions-item--danger{color:var(--mrrg-danger, #b42318)}.job-modal-more-actions-item--warning{color:var(--mrrg-warning, #b54708)}.job-modal-more-actions-item:disabled{opacity:.55;cursor:not-allowed}.job-modal-actions-secondary .ui-btn,.job-modal-actions-primary .ui-btn{flex:1 1 auto;min-width:8rem}.job-modal-actions-primary .job-modal-action-primary,.job-modal-actions-primary .job-modal-action-neutral{flex:1}.job-modal-actions .job-modal-action-primary.ui-btn-primary{background:var(--mrrg-green-700);border-color:var(--mrrg-green-700);color:#fff}.job-modal-actions .job-modal-action-primary.ui-btn-primary:hover:not(:disabled){background:var(--mrrg-green-900);border-color:var(--mrrg-green-900)}.job-modal-actions .job-modal-action-positive{background:var(--mrrg-green-50);border-color:var(--mrrg-green-700);color:var(--mrrg-green-900)}.job-modal-actions .job-modal-action-positive:hover:not(:disabled){background:var(--mrrg-green-700);border-color:var(--mrrg-green-700);color:#fff}.job-modal-actions .job-modal-action-warning{background:var(--mrrg-warning-bg);border-color:var(--mrrg-warning);color:var(--mrrg-warning)}.job-modal-actions .job-modal-action-warning:hover:not(:disabled){background:var(--mrrg-warning);border-color:var(--mrrg-warning);color:#fff}.job-modal-actions .job-modal-action-destructive.ui-btn-danger{background:var(--mrrg-danger);border-color:var(--mrrg-danger);color:#fff}.job-modal-actions .job-modal-action-destructive.ui-btn-danger:hover:not(:disabled){background:#912018;border-color:#912018;color:#fff}.job-modal-actions .job-modal-action-neutral{background:var(--mrrg-bg);border-color:var(--mrrg-border-strong);color:var(--mrrg-text)}.job-modal-actions .job-modal-action-neutral:hover:not(:disabled){background:var(--mrrg-border);border-color:var(--mrrg-border-strong);color:var(--mrrg-text)}.job-modal-actions .ui-btn:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:2px;box-shadow:var(--mrrg-focus-ring)}.job-modal-actions .job-modal-action-destructive.ui-btn-danger:focus-visible{outline-color:var(--mrrg-danger);box-shadow:0 0 0 3px #b4231859}.job-modal-actions .ui-btn:disabled{opacity:.55;cursor:not-allowed}.job-modal-actions .ui-btn[aria-busy=true]{cursor:progress}.job-modal-archived-banner{background:#e8f4f8;border-color:#17a2b8;color:#0c5460}.callback-fix-section{border-top:1px solid #e0e0e0;padding-top:1rem}.job-modal-status-banner{background:#fff3cd;border:1px solid #ffc107;color:#664d03;padding:.75rem 1rem;border-radius:6px;margin:0 0 1rem;font-size:.95rem}.job-complete-dialog-lead{margin:0 0 .75rem;font-weight:600}.ui-modal.job-complete-dialog{max-width:28rem}.job-complete-scrap-option{display:block;margin-top:.75rem}.job-scrap-pickup-links{margin:.75rem 0 1rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:6px}.job-scrap-pickup-block h4{margin:0 0 .35rem}.link-button{background:none;border:none;color:#0d6efd;cursor:pointer;padding:0;text-decoration:underline}@media (max-width: 480px){.job-types-grid,.job-modal-row,.job-modal-section-grid{grid-template-columns:1fr}.job-modal-actions-secondary{flex-direction:column}.job-modal-actions-primary{flex-wrap:wrap}.job-modal-actions-secondary .ui-btn,.job-modal-actions-primary .ui-btn{width:100%;min-width:0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.55rem 1.1rem;border:1px solid transparent;border-radius:var(--mrrg-radius-md);font:inherit;font-size:.9375rem;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.ui-btn-sm{min-height:2.25rem;padding:.35rem .75rem;font-size:.875rem}.ui-btn:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:2px;box-shadow:var(--mrrg-focus-ring)}.ui-btn:disabled{cursor:not-allowed;opacity:.55}.ui-btn[aria-busy=true]{cursor:progress}.ui-btn-primary{background:var(--mrrg-green-700);border-color:var(--mrrg-green-700);color:#fff}.ui-btn-primary:hover:not(:disabled){background:var(--mrrg-green-900);border-color:var(--mrrg-green-900)}.ui-btn-secondary{background:var(--mrrg-surface);border-color:var(--mrrg-border-strong);color:var(--mrrg-green-900)}.ui-btn-secondary:hover:not(:disabled){background:var(--mrrg-green-50);border-color:var(--mrrg-green-700)}.ui-btn-ghost{background:transparent;border-color:transparent;color:var(--mrrg-green-900)}.ui-btn-ghost:hover:not(:disabled){background:var(--mrrg-green-50)}.ui-btn-danger{background:var(--mrrg-surface);border-color:#fecdca;color:var(--mrrg-danger)}.ui-btn-danger:hover:not(:disabled){background:var(--mrrg-danger-bg);border-color:var(--mrrg-danger)}.ui-icon-btn{min-width:2.5rem;padding:.4rem}.ui-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin:0 0 1.25rem}.ui-page-title{margin:0;font-size:1.75rem;font-weight:650;letter-spacing:-.01em;color:var(--mrrg-green-900)}.ui-page-description{margin:.4rem 0 0;max-width:56ch;color:var(--mrrg-text-muted);font-size:.9375rem;line-height:1.5}.ui-page-header-actions{display:flex;flex-wrap:wrap;gap:.6rem}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.ui-toolbar-end{justify-content:flex-end}.ui-toolbar-between{justify-content:space-between}.ui-filter-bar{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-sm);padding:1rem 1.15rem;margin-bottom:1.15rem}.ui-filter-bar-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem}.ui-filter-bar-controls .ui-field-search{flex:1 1 18rem;min-width:12rem}.ui-filter-bar-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--mrrg-border)}.ui-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.ui-field-label{font-size:.8125rem;font-weight:600;color:var(--mrrg-text-muted);text-transform:uppercase;letter-spacing:.03em}.ui-field-required{color:var(--mrrg-danger)}.ui-input{min-height:2.75rem;width:100%;box-sizing:border-box;padding:.5rem .7rem;border:1px solid var(--mrrg-border-strong);border-radius:var(--mrrg-radius-md);background:var(--mrrg-surface);color:var(--mrrg-text);font:inherit;font-size:.9375rem}.ui-input:focus-visible{outline:none;border-color:var(--mrrg-green-700);box-shadow:var(--mrrg-focus-ring)}.ui-input:disabled{background:var(--mrrg-bg);cursor:not-allowed}.ui-field-invalid .ui-input{border-color:var(--mrrg-danger)}.ui-field-hint{margin:0;font-size:.8125rem;color:var(--mrrg-text-muted)}.ui-field-error{margin:0;font-size:.8125rem;font-weight:600;color:var(--mrrg-danger)}.ui-field-error-block{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--mrrg-radius-md);border:1px solid #fecdca;background:var(--mrrg-danger-bg);color:var(--mrrg-danger);font-size:.875rem}.ui-field-readonly{gap:.15rem}.ui-readonly-value{margin:0;padding:.4rem 0;font-size:.9375rem;font-weight:600;color:var(--mrrg-text);word-break:break-word}.ui-readonly-empty{font-weight:500;color:var(--mrrg-text-muted)}.ui-checkbox{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 .15rem;font-size:.9375rem;font-weight:500;color:var(--mrrg-text);cursor:pointer}.ui-checkbox input{width:1.1rem;height:1.1rem;accent-color:var(--mrrg-green-700)}.ui-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;padding:.3rem .8rem;border:1px solid var(--mrrg-border-strong);border-radius:999px;background:var(--mrrg-surface);color:var(--mrrg-text);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.ui-chip:hover{border-color:var(--mrrg-green-700);background:var(--mrrg-green-50)}.ui-chip:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:2px}.ui-chip[aria-pressed=true]{background:var(--mrrg-green-700);border-color:var(--mrrg-green-700);color:#fff}.ui-chip-count{font-variant-numeric:tabular-nums;opacity:.85}.ui-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border:1px solid transparent;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.ui-badge-positive{background:#ecfdf3;color:#027a48;border-color:#abefc6}.ui-badge-info{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.ui-badge-warning{background:var(--mrrg-warning-bg);color:var(--mrrg-warning);border-color:#fedf89}.ui-badge-danger{background:var(--mrrg-danger-bg);color:var(--mrrg-danger);border-color:#fecdca}.ui-badge-neutral{background:var(--mrrg-green-50);color:var(--mrrg-green-900);border-color:#c5e0d1}.ui-badge-muted{background:var(--mrrg-bg);color:var(--mrrg-text-muted);border-color:var(--mrrg-border-strong)}.ui-badge-stage{background:var(--mrrg-green-50);color:var(--mrrg-green-900);border-color:#c5e0d1}.ui-badge-meta{background:var(--mrrg-surface);color:var(--mrrg-text);border-color:var(--mrrg-border-strong);font-weight:600}.ui-badge-meta-label{color:var(--mrrg-text-muted);font-weight:700;text-transform:uppercase;font-size:.6875rem}.ui-table-wrap{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-sm);overflow:hidden}.ui-table{width:100%;border-collapse:collapse;font-size:.9375rem}.ui-table thead th{background:var(--mrrg-green-50);padding:.7rem 1rem;text-align:left;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mrrg-green-900);border-bottom:1px solid var(--mrrg-border);white-space:nowrap}.ui-table tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--mrrg-border);vertical-align:middle}.ui-table tbody tr:last-child td{border-bottom:none}.ui-cell-end{text-align:right}.ui-row-clickable{cursor:pointer}.ui-row-clickable:hover{background:var(--mrrg-green-50)}.ui-row-clickable:focus-within{background:var(--mrrg-green-50)}.ui-row-activator{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.15rem 0;border:none;background:none;font:inherit;color:var(--mrrg-green-900);font-weight:600;text-align:left;cursor:pointer}.ui-row-activator:hover{text-decoration:underline}.ui-row-activator:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:2px;border-radius:var(--mrrg-radius-sm)}.ui-card-list{list-style:none;margin:0;padding:0;background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-sm);overflow:hidden}.ui-data-card{padding:.9rem 1rem;border-bottom:1px solid var(--mrrg-border)}.ui-data-card:last-child{border-bottom:none}.ui-data-card-title{font-size:1rem;margin-bottom:.5rem}.ui-data-card-fields{display:grid;grid-template-columns:1fr;gap:.35rem;margin:0}.ui-data-card-field{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.875rem}.ui-data-card-field dt{font-weight:700;color:var(--mrrg-text-muted);text-transform:uppercase;font-size:.6875rem;align-self:center}.ui-data-card-field dd{margin:0;color:var(--mrrg-text)}@media (max-width: 768px){.ui-page-header-actions,.ui-page-header{width:100%}.ui-filter-bar-controls{flex-direction:column;align-items:stretch}.ui-filter-bar-controls .ui-field-search{flex:0 0 auto}}.ui-state{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);padding:2rem 1.25rem;text-align:center;color:var(--mrrg-text-muted)}.ui-state-loading{padding:1.5rem 1.25rem;margin:0}.ui-state-error{border-color:#fecdca;background:var(--mrrg-danger-bg)}.ui-feedback-banner{position:fixed;z-index:1200;left:0;right:0;bottom:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 24px #1018281f;animation:ui-feedback-banner-in .22s ease-out}@keyframes ui-feedback-banner-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ui-feedback-banner-inner{max-width:56rem;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.ui-feedback-banner-text{margin:0;font-size:.9375rem;line-height:1.45;flex:1;min-width:0}.ui-feedback-banner-title{display:block;font-weight:650;margin-bottom:.15rem}.ui-feedback-banner-message{display:block}.ui-feedback-banner-error{background:#fef3f2;border-top:3px solid #f04438;color:#7a271a}.ui-feedback-banner-error .ui-feedback-banner-title,.ui-feedback-banner-error .ui-modal-title{color:#912018}.ui-feedback-banner-success{background:var(--mrrg-green-50, #ecfdf3);border-top:3px solid var(--mrrg-green-600, #2d6a4f);color:var(--mrrg-green-900)}.ui-feedback-banner-success .ui-icon-btn{color:var(--mrrg-green-900)}.ui-feedback-banner-warning{background:#fffaeb;border-top:3px solid #f79009;color:#7a2e0e}.ui-feedback-banner-warning .ui-feedback-banner-title,.ui-feedback-banner-warning .ui-modal-title{color:#93370d}.ui-feedback-banner-info{background:var(--mrrg-green-50, #ecfdf3);border-top:3px solid var(--mrrg-border-strong);color:var(--mrrg-text)}.ui-feedback-banner-error .ui-icon-btn{color:#7a271a}.ui-state-warning{border-color:#fedf89;background:#fffaeb}.ui-state-warning .ui-state-title{color:#7a2e0e}.ui-state-title{margin:0;font-size:1rem;font-weight:650;color:var(--mrrg-text)}.ui-state-error .ui-state-title{color:#7a271a}.ui-state-description{margin:.4rem 0 0;font-size:.9375rem;line-height:1.5}.ui-state-action{margin-top:1rem}.ui-state-compact{padding:.55rem 0;border:none;background:transparent;text-align:left;box-shadow:none}.ui-info-card{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-sm);padding:1.15rem 1.25rem}.ui-info-card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.ui-info-card-title{margin:0;font-size:1.0625rem;font-weight:650;color:var(--mrrg-green-900)}.ui-info-card-description{margin:.25rem 0 0;font-size:.875rem;color:var(--mrrg-text-muted);line-height:1.45}.ui-info-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.ui-info-card-body{display:flex;flex-direction:column;gap:.9rem}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--mrrg-z-modal-backdrop, 1300);display:flex;align-items:flex-start;justify-content:center;padding:3vh 1rem;background:#1018288c;overflow-y:auto}.ui-modal-backdrop-banner{align-items:flex-end;background:transparent;pointer-events:none;padding:0;z-index:1200;overflow:visible}.ui-modal-backdrop-banner .ui-modal{pointer-events:auto;max-width:none;width:100%;max-height:none;min-height:0;border-radius:0;box-shadow:none}.ui-modal-backdrop-banner .ui-modal-header{border-bottom:none;padding:0}.ui-modal-backdrop-banner .ui-modal-body{padding:0}.ui-modal{display:flex;flex-direction:column;width:100%;max-height:94vh;background:var(--mrrg-surface);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-md)}.ui-modal:focus{outline:none}.ui-modal-sm{max-width:34rem}.ui-modal-md{max-width:48rem}.ui-modal-lg{max-width:68rem}.ui-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--mrrg-border)}.ui-modal-back.ui-icon-btn{flex:0 0 auto;margin-top:.1rem}.ui-modal-title{margin:0;font-size:1.25rem;font-weight:650;color:var(--mrrg-green-900)}.ui-modal-description{margin:.25rem 0 0;font-size:.875rem;color:var(--mrrg-text-muted)}.ui-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.25rem}.ui-modal .modal-overlay{z-index:var(--mrrg-z-modal-nested, 1310)}.ui-modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.6rem;padding:1rem 1.25rem;border-top:1px solid var(--mrrg-border);background:var(--mrrg-bg);border-radius:0 0 var(--mrrg-radius-lg) var(--mrrg-radius-lg)}@media (max-width: 640px){.ui-modal-backdrop{padding:0}.ui-modal{max-height:100vh;min-height:100vh;border-radius:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--mrrg-z-modal-backdrop, 1300);display:flex;align-items:center;justify-content:center;padding:1rem;background:#1018288c}.confirm-dialog{width:min(100%,24rem);padding:1.5rem;border-radius:var(--mrrg-radius-lg);background:var(--mrrg-surface);box-shadow:var(--mrrg-shadow-lg, 0 4px 12px rgba(16, 24, 40, .15))}.ui-modal.confirm-dialog{width:min(100%,24rem);max-width:24rem;padding:0}.confirm-dialog h2{margin:0 0 .75rem;font-size:1.125rem;color:var(--mrrg-text)}.confirm-dialog p{margin:0 0 1.5rem;font-size:.875rem;line-height:1.5;color:var(--mrrg-text-muted)}.confirm-dialog.dangerous h2{color:var(--mrrg-danger)}.confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.ui-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}.ui-form-grid-full{grid-column:1 / -1}.ui-toggle-card{display:flex;align-items:flex-start;gap:.75rem;width:100%;margin:0 0 .85rem;padding:.85rem 1rem;border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-md);background:var(--mrrg-bg);cursor:pointer}.ui-toggle-card input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--mrrg-green-700)}.ui-toggle-card-copy{display:flex;flex-direction:column;gap:.15rem}.ui-toggle-card-title{font-weight:650;color:var(--mrrg-green-900)}.ui-toggle-card-hint{margin:0;font-size:.8125rem;color:var(--mrrg-text-muted)}.customer-search-combobox{display:grid;gap:.65rem;width:100%}.customer-search-panel{border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-md);background:var(--mrrg-surface);overflow:hidden}.customer-search-listbox{list-style:none;margin:0;padding:0;max-height:14rem;overflow-y:auto}.customer-search-listbox [role=option]{display:flex;flex-direction:column;gap:.15rem;padding:.7rem .9rem;cursor:pointer;border-bottom:1px solid var(--mrrg-border)}.customer-search-listbox [role=option]:last-child{border-bottom:none}.customer-search-listbox [role=option].is-active,.customer-search-listbox [role=option]:hover{background:var(--mrrg-green-50)}.customer-search-option-title{font-weight:650;color:var(--mrrg-green-900)}.customer-search-option-meta{font-size:.8125rem;color:var(--mrrg-text-muted)}.customer-search-create{display:flex;flex-wrap:wrap}.customer-selected-card{display:grid;gap:.35rem;padding:.85rem 1rem;border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-md);background:var(--mrrg-bg)}.customer-selected-card p{margin:0}.customer-selected-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}.job-customer-selection{display:grid;gap:.85rem;width:100%}.work-request-create-main{max-width:48rem}.work-request-create-nav{margin-bottom:.75rem}.work-request-create-form{display:grid;gap:1.1rem}.work-request-create-form .ui-field,.work-request-create-form .job-customer-selection,.work-request-create-form .customer-search-combobox{width:100%}.work-request-create-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding-top:.75rem;border-top:1px solid var(--mrrg-border)}.ui-modal.customer-form-modal{max-width:48rem}.customer-create-form{display:grid;gap:1rem}@media (max-width: 768px){.ui-form-grid{grid-template-columns:1fr}.work-request-create-actions .ui-btn,.customer-search-create .ui-btn,.customer-selected-actions .ui-btn{width:100%}}.discussion-panel{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;flex:1;background:#fff}.discussion-panel-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid #e5e7eb}.discussion-panel-header h3{margin:0;font-size:1rem;color:#1a472a}.discussion-thread{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:0}.discussion-message{display:flex;flex-direction:column;gap:.25rem;max-width:78%}.discussion-message--own{align-self:flex-end;align-items:flex-end}.discussion-message--other{align-self:flex-start;align-items:flex-start}.discussion-message-meta{display:flex;flex-wrap:wrap;gap:.35rem .5rem;font-size:.72rem;color:#6b7280;padding:0 .15rem}.discussion-message-author{font-weight:600;color:#374151}.discussion-comment-delete{flex-shrink:0}.discussion-message-bubble{padding:.65rem .85rem;border-radius:14px;word-break:break-word;min-width:0;width:100%;box-sizing:border-box}.discussion-message--other .discussion-message-bubble{background:#f3f4f6;color:#111827;border:1px solid #e5e7eb}.discussion-message--own .discussion-message-bubble{background:#e8f5ec;color:#0f2918;border:1px solid #c5e6d0}.discussion-message-text{margin:0;white-space:pre-wrap;line-height:1.45}.discussion-attachments{display:flex;flex-direction:column;gap:.45rem}.discussion-attachments--with-text{margin-top:.5rem}.discussion-attachment{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.55rem;min-width:0;position:relative}.discussion-attachment-delete{flex-shrink:0}.discussion-attachment-error{flex-basis:100%;margin:0;font-size:.8rem;color:#b42318}.discussion-attachment-in-bubble .discussion-attachment img,.discussion-attachment button img{width:120px;max-width:100%;height:auto;max-height:120px;object-fit:cover;border-radius:8px;background:#f3f4f6}.discussion-attachment-doc{display:flex;align-items:flex-start;gap:.5rem;min-width:0;padding:.45rem .55rem;border-radius:8px;background:#ffffffa6;border:1px solid rgba(0,0,0,.06)}.discussion-message--other .discussion-attachment-doc{background:#fff}.discussion-attachment-doc-icon{flex-shrink:0;font-size:1.1rem;line-height:1.2}.discussion-attachment-card{min-width:0;flex:1}.discussion-attachment-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem;color:#1a472a;font-weight:500}.discussion-attachment-meta{display:block;font-size:.72rem;color:#6b7280;margin-top:.15rem}.discussion-compose{flex-shrink:0;border-top:1px solid #e5e7eb;padding:.65rem .85rem .85rem;display:flex;flex-direction:column;gap:.45rem;background:#fff}.discussion-compose-error{margin:0 .85rem}.discussion-compose-bar{display:flex;align-items:flex-end;gap:0;border:1px solid #d1d5db;border-radius:12px;background:#fff;padding:.35rem .4rem .35rem .25rem;box-shadow:0 1px 2px #0f172a0a}.discussion-compose-attach{flex-shrink:0;min-width:2.25rem;font-size:1.25rem;line-height:1;padding:.35rem .5rem}.discussion-compose-input{flex:1;min-width:0;border:none;outline:none;resize:none;background:transparent;font:inherit;font-size:.95rem;line-height:1.45;max-height:8rem;padding:.45rem .35rem;margin:0}.discussion-compose-input::placeholder{color:#9ca3af}.discussion-compose-send{flex-shrink:0;margin-left:.15rem}.discussion-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.discussion-pending-files{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 .1rem}.discussion-pending-file{display:flex;align-items:center;gap:.35rem;max-width:100%;padding:.25rem .5rem;border-radius:8px;background:#f3f4f6;border:1px solid #e5e7eb;font-size:.75rem}.discussion-pending-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:10rem}.discussion-pending-file-size{color:#6b7280;flex-shrink:0}.record-workspace{display:flex;align-items:stretch;gap:20px;max-width:min(1180px,calc(100vw - 2rem));max-height:min(90vh,920px);width:100%;min-height:0}.record-workspace-window{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 28px #0f172a1f;overflow:hidden}.record-workspace-details.record-workspace-window{flex:1 1 560px}.record-workspace-discussion.record-workspace-window{flex:0 0 400px;max-width:42%}.record-workspace-details{flex:1 1 560px;min-width:0;overflow-y:auto}.record-workspace-discussion{flex:0 0 380px;max-width:42%;display:flex;min-height:0}.record-workspace-window .job-modal{max-width:none;width:100%;max-height:none;height:100%;flex:1;overflow-y:auto;border-radius:0;box-shadow:none}.record-workspace-tabs{display:none}.record-workspace-create-hint{margin:0 0 1rem;color:#6b7280;font-size:.875rem}.record-workspace-modal.ui-modal{max-width:min(1180px,calc(100vw - 2rem))}.record-workspace-modal .ui-modal-body{padding:.75rem 1rem 1rem;min-height:0;display:flex;flex-direction:column}.record-workspace-modal .record-workspace{flex:1;min-height:0;max-height:min(78vh,860px)}@media (max-width: 768px){.record-workspace{flex-direction:column;gap:0;max-height:92vh}.record-workspace-window{box-shadow:none;border:none;border-radius:0}.record-workspace-tabs{display:flex;gap:.4rem;padding:.6rem .85rem 0;flex-shrink:0}.record-workspace-discussion.record-workspace-window,.record-workspace-discussion{flex:1 1 auto;max-width:none;min-height:18rem}.record-workspace--mobile-details .record-workspace-discussion,.record-workspace--mobile-comments .record-workspace-details{display:none}}@media (min-width: 769px){.record-workspace--mobile-comments .record-workspace-tabs,.record-workspace--mobile-details .record-workspace-tabs{display:none}}.related-job-card{border:1px solid var(--mrrg-border, #dde3e8);border-radius:var(--mrrg-radius-md, 8px);padding:.75rem 1rem;margin-bottom:.75rem;background:var(--mrrg-surface, #fff)}.related-job-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.related-job-card-title{margin:0;font-size:.95rem;font-weight:600}.related-job-card-id{margin:.35rem 0 0;font-weight:500;font-size:.9rem}.related-job-card-meta{margin:.25rem 0 0;font-size:.85rem;color:var(--mrrg-text-muted, #5c6670)}.related-job-card-site{line-height:1.35}.related-job-card-open{margin-top:.65rem}.related-job-card-arrow{margin-right:.35rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--mrrg-green-900) 0%,var(--mrrg-green-700) 100%);font-family:var(--mrrg-font)}.login-card{background:var(--mrrg-surface);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-md);padding:3rem 2rem;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:2rem}.login-page .login-logo{max-width:280px;height:auto;margin-bottom:1rem}.login-header h1{color:var(--mrrg-green-900);font-size:1.75rem;font-weight:600;margin:0}.login-page .login-submit{width:100%;margin-top:.5rem}.activate-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a472a,#2d6b4d);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.activate-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;padding:3rem 2rem;width:100%;max-width:420px}.activate-header{text-align:center;margin-bottom:2rem}.activate-header .logo{max-width:280px;height:auto;margin-bottom:1rem}.activate-header h1{color:#1a472a;font-size:1.75rem;font-weight:600;margin:0}.error-message{background-color:#f8d7da;color:#721c24;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem;border:1px solid #f5c6cb}.activate-success,.activate-loading,.activate-error-state{text-align:center}.activate-loading{color:#1a472a;margin:0}.activate-error-state .activate-link-button{margin-top:.5rem}.activate-success p{color:#1a472a;margin:0 0 1.5rem;line-height:1.5}.activate-link-button{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#1a472a,#2d6b4d);color:#fff;border-radius:6px;font-weight:600;text-decoration:none}.activate-link-button:hover{box-shadow:0 8px 20px #1a472a4d}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#1a472a;font-weight:500;font-size:.95rem}.form-group input{width:100%;padding:.75rem;border:1px solid #d0d0d0;border-radius:6px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#2d6b4d;box-shadow:0 0 0 3px #2d6b4d1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.submit-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#1a472a,#2d6b4d);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #1a472a4d}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.week-view-status{margin:0 0 .75rem;font-size:.95rem}.week-view-error{color:var(--color-danger, #b42318)}.week-view{padding:.25rem 0 .5rem}.week-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem;flex-wrap:wrap}.week-controls button{padding:.55rem .9rem;background-color:var(--mrrg-green-700);color:#fff;border:none;border-radius:var(--mrrg-radius-sm);cursor:pointer;font-weight:600;min-height:2.35rem}.week-controls button:hover{background-color:var(--mrrg-green-900)}.week-controls button:focus-visible{outline:none;box-shadow:var(--mrrg-focus-ring)}.week-dates{font-weight:600;color:var(--mrrg-green-900);font-size:.95rem;flex:1 1 220px;text-align:center}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;align-items:start}.week-day{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-md);padding:.65rem;min-height:180px;display:flex;flex-direction:column}.week-day.today{border-color:var(--mrrg-green-700);background-color:var(--mrrg-green-50);box-shadow:inset 0 0 0 1px #2d6b4d26}.week-day.drag-over{border-color:var(--mrrg-green-700);background-color:#e8f5ee}.day-header{margin-bottom:.65rem;border-bottom:1px solid var(--mrrg-border);padding-bottom:.45rem}.day-name{font-weight:700;color:var(--mrrg-green-900);font-size:.92rem}.week-day.today .day-name:after{content:" · Today";font-weight:600;color:var(--mrrg-green-700);font-size:.78rem}.day-date{color:var(--mrrg-text-muted);font-size:.78rem;margin-top:.15rem}.day-content{min-height:80px;flex:1;overflow:visible}.day-content-expanded{max-height:min(16rem,42vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.day-jobs-expand-btn{display:block;width:100%;margin:.35rem 0 .25rem;padding:.35rem .5rem;font-size:.75rem;font-weight:600;color:var(--mrrg-green-900);background:var(--mrrg-green-50);border:1px dashed var(--mrrg-border);border-radius:var(--mrrg-radius-sm);cursor:pointer;text-align:center}.day-jobs-expand-btn:hover{background:#e8f5ee}.day-jobs-expand-btn:focus-visible{outline:none;box-shadow:var(--mrrg-focus-ring)}.drop-zone{color:#b0b8c0;text-align:center;padding-top:1.25rem;font-size:.82rem}.scheduled-job-chip{background:#fafbfc;border:1px solid var(--mrrg-border);border-left:4px solid #999;border-radius:var(--mrrg-radius-sm);padding:.45rem .5rem;margin-bottom:.45rem;cursor:pointer;line-height:1.35}.scheduled-job-chip:hover{box-shadow:var(--mrrg-shadow-sm)}.scheduled-job-chip:focus-visible{outline:none;box-shadow:var(--mrrg-focus-ring)}.chip-indicators{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;margin-bottom:.2rem}.scheduled-job-chip .ui-badge{font-size:.6875rem;padding:.1rem .45rem}.chip-ladder-indicator,.chip-scrap-indicator{display:inline-block;font-size:.75rem;margin-right:.25rem;vertical-align:middle;line-height:1}.chip-area{display:block;font-size:.7rem;color:var(--mrrg-text-muted);font-weight:600}.chip-time{display:block;font-size:.76rem;color:var(--mrrg-green-700);font-weight:700}.chip-name{display:block;font-size:.84rem;color:var(--mrrg-green-900);font-weight:600;word-break:break-word}.chip-address,.chip-workers{display:block;font-size:.72rem;color:var(--mrrg-text-muted);word-break:break-word}.drop-zone-hint{color:#c0c7cf;text-align:center;font-size:.72rem;margin-top:.35rem}@media (max-width: 1200px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 900px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.week-grid{grid-template-columns:1fr}}.pending-job-card{display:flex;gap:.35rem;align-items:stretch;background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-left-width:4px;border-radius:var(--mrrg-radius-sm);padding:.45rem .5rem .45rem .35rem;cursor:grab;min-width:0;text-align:left}.pending-job-card:active{cursor:grabbing}.pending-job-card:focus-visible{outline:none;box-shadow:var(--mrrg-focus-ring)}.pending-job-drag-handle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:1.25rem;color:var(--mrrg-text-muted);font-size:.85rem;-webkit-user-select:none;user-select:none;line-height:1}.pending-job-card-body{flex:1;min-width:0}.pending-job-on-hold-meta{margin:.35rem 0 .25rem}.pending-job-on-hold-since{margin:0;font-size:.82rem;font-weight:600;color:var(--mrrg-warning)}.pending-job-on-hold-reason{margin:.35rem 0 0;font-size:.92rem;font-weight:500;color:var(--mrrg-text);line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pending-job-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;margin-bottom:.2rem}.pending-job-title{margin:0;font-size:.88rem;font-weight:700;color:var(--mrrg-green-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.pending-job-priority{margin:0 0 .15rem;flex:0 0 auto;font-size:.68rem;font-weight:600;padding:.12rem .35rem;border-radius:999px;background:var(--mrrg-green-50);color:var(--mrrg-green-900);border:1px solid var(--mrrg-border);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.pending-job-accepted{margin:0 0 .15rem;font-size:.72rem;font-weight:600;color:var(--mrrg-text-muted)}.pending-job-area{margin:0 0 .15rem;font-size:.78rem;display:flex;gap:.25rem;min-width:0}.pending-job-area-label{color:var(--mrrg-text-muted);flex:0 0 auto}.pending-job-area-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--mrrg-text)}.pending-job-type{margin:0;font-size:.72rem;color:var(--mrrg-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-job-schedule-action{margin-top:.35rem;display:flex;justify-content:flex-end}.pending-job-schedule-btn.ui-icon-btn{min-width:2.25rem;min-height:2.25rem;color:var(--mrrg-green-900);border:1px solid var(--mrrg-border);background:var(--mrrg-green-50)}.job-list{padding:1rem 0}.no-jobs{text-align:center;color:var(--mrrg-text-muted);padding:2rem 1rem;font-size:.95rem}.pending-job-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}@media (max-width: 1200px){.pending-job-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.pending-job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.pending-job-grid{grid-template-columns:1fr}}.pending-jobs-section-title{margin:0 0 .75rem;font-size:1.25rem}.pending-jobs-tablist{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;border-bottom:1px solid var(--mrrg-border, #dde3e8);padding-bottom:.35rem}.pending-jobs-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;border-radius:var(--mrrg-radius-sm, 6px);padding:.45rem .75rem;font-size:.9rem;font-weight:500;cursor:pointer;color:var(--mrrg-text-muted, #5c6670)}.pending-jobs-tab:hover{background:var(--mrrg-bg-subtle, #f4f6f8)}.pending-jobs-tab.active{color:var(--mrrg-green-900, #1a4d3a);border-color:var(--mrrg-border, #dde3e8);background:var(--mrrg-surface, #fff)}.pending-jobs-tabpanel{min-height:4rem}@media (max-width: 480px){.pending-jobs-tab{flex:1 1 calc(50% - .35rem);text-align:center}}.branch-context{position:relative;display:flex;flex-direction:column;gap:.15rem;min-width:0}.branch-context-row{display:flex;align-items:center;gap:.4rem;min-width:0}.branch-context-user{font-size:.9375rem;font-weight:650;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:11rem}.branch-context-role{flex:none;padding:.1rem .45rem;border-radius:999px;background:#ffffff2e;color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.branch-context-label{flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#ffffffb8}.branch-context-branch{display:inline-flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;color:#fff}.branch-context-branch-empty{font-weight:500;color:#ffffffbf}.branch-context-code{flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.03em;color:#ffffffb3}.branch-context-primary{flex:none;padding:.05rem .4rem;border-radius:999px;background:#ffffff29;color:#fff;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.branch-context-trigger{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;min-width:0;max-width:min(100%,18rem);padding:.2rem .55rem;border:1px solid rgba(255,255,255,.35);border-radius:var(--mrrg-radius-sm);background:#ffffff1a;color:#fff;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.branch-context-trigger:hover{background:#fff3;border-color:#fff9}.branch-context-trigger:focus-visible{outline:2px solid #ffffff;outline-offset:1px}.branch-context-trigger-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-context-caret{flex:none;font-size:.7rem}.branch-context-list{position:absolute;top:100%;left:0;z-index:60;margin:.35rem 0 0;padding:.25rem;min-width:15rem;max-height:18rem;overflow-y:auto;list-style:none;background:var(--mrrg-surface);border:1px solid var(--mrrg-border-strong);border-radius:var(--mrrg-radius-md);box-shadow:var(--mrrg-shadow-md);color:var(--mrrg-text)}.branch-context-option{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:var(--mrrg-radius-sm);font-size:.875rem;cursor:pointer}.branch-context-option:hover{background:var(--mrrg-green-50)}.branch-context-option:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:-2px}.branch-context-option-active{background:var(--mrrg-green-50);font-weight:700}.branch-context-check{flex:none;width:1rem;color:var(--mrrg-green-700);font-weight:700}.branch-context-option-text{display:flex;align-items:baseline;gap:.4rem;min-width:0}.branch-context-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-context-list .branch-context-code{color:var(--mrrg-text-muted)}.branch-context-list .branch-context-primary{margin-left:auto;background:#eff8ff;border:1px solid #b2ddff;color:#175cd3}.branch-context-error{font-size:.8125rem;font-weight:600;color:#ffd7d3}.branch-context-retry{border:none;background:none;padding:0;font:inherit;font-size:.8125rem;color:#fff;text-decoration:underline;cursor:pointer}@media (max-width: 640px){.branch-context-user{max-width:8rem}.branch-context-label,.branch-context-trigger .branch-context-code{display:none}.branch-context-trigger{max-width:100%}}@media (max-width: 480px){.branch-context-user{max-width:none}}.dashboard{min-height:100vh;background-color:var(--mrrg-bg);font-family:var(--mrrg-font)}.dashboard-header{background:var(--mrrg-green-900);color:#fff;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;box-shadow:var(--mrrg-shadow-md);border-bottom:1px solid rgba(255,255,255,.08)}.app-header-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem .75rem}.dashboard-header.app-header-grid{overflow:visible}.app-header-left{grid-column:1;display:flex;align-items:center;gap:.65rem;min-width:0;max-width:100%;justify-self:start;overflow:visible}.app-header-identity{gap:.5rem}.header-identity-block{display:flex;flex-direction:column;align-items:stretch;gap:.15rem;flex:1 1 auto;min-width:0;max-width:100%}.app-header-direct-nav{display:flex;flex-wrap:nowrap;gap:.35rem;align-items:center}.app-header-center{grid-column:2;min-width:0;max-width:min(36vw,12rem);text-align:center;pointer-events:none;justify-self:center}.app-header-title{margin:0;font-size:1.05rem;font-weight:600;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-right{grid-column:3;display:flex;align-items:center;gap:.4rem;min-width:0;max-width:100%;justify-content:flex-end;justify-self:end;flex-wrap:nowrap;overflow:visible}.app-header-actions{min-width:0}.header-more-menu{position:relative;z-index:var(--mrrg-z-dropdown, 1200)}.header-more-trigger{position:relative;display:inline-flex;align-items:center;gap:.35rem}.header-more-icon{font-size:1rem;line-height:1}.header-more-badge{top:-4px;right:-4px}.header-more-panel{position:absolute;top:calc(100% + .35rem);right:0;min-width:12.5rem;max-width:min(18rem,90vw);background:var(--mrrg-surface);color:var(--mrrg-text);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-md);box-shadow:var(--mrrg-shadow-md);padding:.35rem;z-index:var(--mrrg-z-dropdown, 1200)}.header-more-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .65rem;border:none;background:transparent;border-radius:var(--mrrg-radius-sm);cursor:pointer;font:inherit;text-align:left;color:inherit}.header-more-item:hover,.header-more-item:focus-visible{background:var(--mrrg-bg);outline:none}.header-more-item-active{background:#1b5e2014;font-weight:600}.header-more-item-accent{font-weight:600;color:var(--mrrg-green-900)}.header-more-divider{height:1px;margin:.35rem .25rem;background:var(--mrrg-border)}.header-more-unread{font-size:.75rem;font-weight:700;background:#dc3545;color:#fff;border-radius:999px;padding:0 .4rem;min-width:1.25rem;text-align:center}.dashboard-logo-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:var(--mrrg-radius-sm)}.dashboard-logo-btn:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:3px}.dashboard-logo{max-height:44px;width:auto;display:block}.header-info{display:flex;align-items:center;gap:.65rem;min-width:0}.header-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;justify-content:flex-end;overflow:visible}.nav-btn,.notification-btn,.logout-btn{padding:.45rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--mrrg-radius-sm);cursor:pointer;font-weight:500;font-size:.82rem;line-height:1.2;background-color:#ffffff14;color:#fff;min-height:2.25rem}.nav-btn:hover,.notification-btn:hover{background-color:#ffffff29}.nav-btn-active{background-color:#ffffff3d;border-color:#ffffff73;box-shadow:inset 0 0 0 1px #ffffff26}.nav-btn-accent{background-color:#fff3;border-color:#ffffff59;font-weight:600}.nav-btn:focus-visible,.notification-btn:focus-visible,.logout-btn:focus-visible{outline:2px solid rgba(255,255,255,.75);outline-offset:2px}.notification-btn{position:relative;overflow:visible}.notification-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background-color:#dc3545;color:#fff;border-radius:999px;font-size:.7rem;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--mrrg-green-900);z-index:2;pointer-events:none}.logout-btn{background-color:#b42318d9;border-color:#ffffff26}.logout-btn:hover{background-color:#b42318}.app-header-actions .logout-btn.ui-btn-danger{background:#b42318eb;border-color:#ffffff59;color:#fff}.app-header-actions .logout-btn.ui-btn-danger:hover:not(:disabled){background:var(--mrrg-danger);border-color:#fff;color:#fff}.dashboard-content{max-width:var(--mrrg-content-max);margin:0 auto;padding:1.5rem 2rem 2.5rem}.dashboard-error{margin-bottom:1rem;padding:.75rem 1rem;background-color:var(--mrrg-danger-bg);color:#7a271a;border:1px solid #fecdca;border-radius:var(--mrrg-radius-sm)}.week-section,.jobs-section{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:var(--mrrg-shadow-sm)}.week-section h2,.jobs-section h2{color:var(--mrrg-green-900);margin:0 0 1rem;font-size:1.125rem;font-weight:600}@media (max-width: 900px){.dashboard-header{padding:.85rem 1rem}.app-header-center{max-width:min(52vw,11rem)}}@media (max-width: 768px){.dashboard-content,.week-section,.jobs-section{padding:1rem}}@media (max-width: 640px){.app-header-direct-nav{display:none}.app-header-grid{grid-template-columns:minmax(0,1fr) auto}.app-header-center{display:none}.app-header-right{grid-column:2}}@media (max-width: 480px){.app-header-right{gap:.25rem}.logout-btn,.header-more-trigger{padding:.35rem .5rem;font-size:.72rem}.dashboard-logo{max-height:36px}.app-header-grid{grid-template-columns:auto minmax(0,1fr)}.app-header-left{display:contents}.dashboard-logo-btn{grid-row:1;grid-column:1}.app-header-right{grid-row:1;grid-column:2}.header-identity-block{grid-row:2;grid-column:1 / -1}.header-more-panel{position:fixed;top:3.25rem;right:.5rem;left:.5rem;width:auto;max-width:none}}.contact-review-page{min-height:100vh;background:#f5f5f5}.contact-review-content{max-width:960px}.contact-review-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.contact-review-card{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-md);padding:1rem 1.15rem;box-shadow:var(--mrrg-shadow-sm)}.contact-review-card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.contact-review-flags{margin:.5rem 0 .85rem}.external-ref{font-size:.85rem;color:#555}.job-contact-actions .contact-review-hint{color:#8a4b00;font-weight:500}.job-contact-actions .contact-action-link{margin-left:.5rem}.job-contact-row{margin:.25rem 0}.contact-field-review label{border-left:3px solid #e6a700;padding-left:.5rem}.notification-page{min-height:100vh}.notification-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.mark-all-btn{padding:.55rem .85rem;background-color:var(--mrrg-green-700);color:#fff;border:none;border-radius:var(--mrrg-radius-sm);cursor:pointer;font-weight:600;white-space:nowrap}.mark-all-btn:hover{background-color:var(--mrrg-green-900)}.notification-content{max-width:800px;padding:2rem 1rem}.notification-error{margin-bottom:1rem;padding:.75rem 1rem;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:6px}.no-notifications{background:#fff;border-radius:12px;padding:3rem;text-align:center;color:#999;box-shadow:0 2px 8px #00000014}.notification-list{display:flex;flex-direction:column;gap:1rem}.notification-item{background:#fff;border-radius:8px;padding:1.5rem;border-left:4px solid #2d6b4d;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #00000014;transition:opacity .2s}.notification-item.read{opacity:.7;border-left-color:#ccc}.notification-item.unread{background-color:#f0f8f4}.notification-item.clickable{cursor:pointer}.notification-item.clickable:hover{box-shadow:0 4px 12px #0000001f}.notification-context{margin:.35rem 0 0;font-size:.9rem;font-weight:600;color:#1f4d38}.notification-item-error{margin:.5rem 0 0;font-size:.85rem;color:#721c24}.notification-action-hint{margin:.5rem 0 0;font-size:.85rem;color:#2d6b4d;font-weight:500}.notification-content{flex:1}.notification-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.notification-type{display:inline-block;background-color:#1a472a;color:#fff;padding:.35rem .75rem;border-radius:4px;font-weight:600;font-size:.8rem}.notification-time{color:#999;font-size:.85rem}.notification-message{margin:0;color:#555;line-height:1.5}.mark-read-btn{padding:.5rem 1rem;background-color:#2d6b4d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;margin-left:1rem;white-space:nowrap;transition:background-color .2s}.mark-read-btn:hover{background-color:#1a472a}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;margin-bottom:1.5rem}.profile-grid .ui-info-card{display:flex;flex-direction:column;height:100%}.profile-grid .ui-info-card-body{flex:1}.profile-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);box-shadow:var(--mrrg-shadow-sm)}@media (max-width: 900px){.profile-grid{grid-template-columns:minmax(0,1fr)}}.ladders-content{max-width:960px;margin:0 auto}.ladders-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.ladders-search{flex:1 1 200px;min-width:160px}.ladders-filter{min-width:140px}.ladders-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.ladders-card{border:1px solid var(--border-subtle, #ddd);border-radius:8px;padding:1rem;background:var(--surface-elevated, #fff)}.ladders-card-inactive{opacity:.85}.ladders-card-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.ladders-code{font-weight:600;font-size:1.05rem}.ladders-badge{font-size:.75rem;padding:.15rem .45rem;border-radius:4px;background:#eee}.ladders-badge-active{background:#e8f5e9}.ladders-location{margin:.25rem 0}.ladders-meta{margin:.15rem 0;font-size:.875rem;color:var(--text-muted, #555)}.ladders-you-hold{font-weight:600;color:var(--accent, #1565c0)}.ladders-empty{text-align:center;padding:2rem}.ladders-settings-list{list-style:none;padding:0;margin-top:1.5rem}.ladders-settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #eee}.ladders-create-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.ladders-create-form label{display:flex;flex-direction:column;gap:.25rem}.pay-statements-list{list-style:none;padding:0;margin:0}.pay-statement-row{margin-bottom:.75rem}.pay-statement-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.pay-statement-period{font-weight:600;min-width:10rem}@media (max-width: 640px){.pay-statement-row-main{flex-direction:column;align-items:flex-start}.pay-statement-download{align-self:stretch}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--mrrg-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--mrrg-bg, #f3f5f4);color:var(--mrrg-text, #20232a)}html,body,#root{width:100%;height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}:root{--mrrg-green-900: #1a472a;--mrrg-green-700: #2d6b4d;--mrrg-green-50: #f0f8f4;--mrrg-bg: #f3f5f4;--mrrg-surface: #ffffff;--mrrg-text: #20232a;--mrrg-text-muted: #5c6570;--mrrg-border: #dde3e8;--mrrg-border-strong: #c5ced6;--mrrg-danger: #b42318;--mrrg-danger-bg: #fef3f2;--mrrg-warning: #8a4b00;--mrrg-warning-bg: #fff8eb;--mrrg-info-bg: #e8f4f8;--mrrg-shadow-sm: 0 1px 3px rgba(16, 24, 40, .08);--mrrg-shadow-md: 0 4px 14px rgba(16, 24, 40, .1);--mrrg-radius-sm: 6px;--mrrg-radius-md: 10px;--mrrg-radius-lg: 12px;--mrrg-content-max: 1400px;--mrrg-focus-ring: 0 0 0 3px rgba(45, 107, 77, .35);--mrrg-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mrrg-z-dropdown: 1200;--mrrg-z-modal-backdrop: 1300;--mrrg-z-modal-nested: 1310}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.page-shell{min-height:100vh;background:var(--mrrg-bg);color:var(--mrrg-text);font-family:var(--mrrg-font)}.page-content{max-width:var(--mrrg-content-max);margin:0 auto;padding:1.5rem 2rem 2.5rem}.pagination-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:.75rem 0}.pagination-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;color:var(--mrrg-text-muted, #5c5c5c)}.pagination-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pagination-btn,.pagination-size-select{min-height:2.25rem;border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-sm);background:var(--mrrg-surface);padding:.35rem .65rem;font:inherit}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-heading{margin:0 0 .35rem;font-size:1.625rem;font-weight:600;color:var(--mrrg-green-900)}.page-subheading{margin:0 0 1.25rem;color:var(--mrrg-text-muted);font-size:.95rem;line-height:1.45;max-width:52rem}.content-panel{background:var(--mrrg-surface);border:1px solid var(--mrrg-border);border-radius:var(--mrrg-radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:var(--mrrg-shadow-sm)}.content-panel h2{margin:0 0 1rem;font-size:1.125rem;color:var(--mrrg-green-900)}.empty-state,.loading-inline{text-align:center;padding:2.5rem 1rem;color:var(--mrrg-text-muted)}.loading-inline{padding:1.5rem 1rem}.state-message{padding:.75rem 1rem;border-radius:var(--mrrg-radius-sm);border:1px solid var(--mrrg-border);margin-bottom:1rem}.state-message-error{background:var(--mrrg-danger-bg);border-color:#fecdca;color:#7a271a}.state-message-info{background:var(--mrrg-info-bg);border-color:#b6e0ff;color:#0c5460}.state-message-success{background:#ecfdf3;border-color:#abefc6;color:#027a48}.retry-link-btn{background:none;border:none;padding:0;margin-left:.35rem;color:var(--mrrg-green-700);text-decoration:underline;cursor:pointer;font:inherit}.retry-link-btn:focus-visible{outline:2px solid var(--mrrg-green-700);outline-offset:2px}.state-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.state-badge-ready{background:#ecfdf3;color:#027a48;border-color:#abefc6}.state-badge-warning{background:var(--mrrg-warning-bg);color:var(--mrrg-warning);border-color:#f5d08a}.state-badge-invalid,.state-badge-failed{background:var(--mrrg-danger-bg);color:var(--mrrg-danger);border-color:#fecdca}.state-badge-skipped,.state-badge-imported{background:#eff8ff;color:#175cd3;border-color:#b2ddff}.contact-flag{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid transparent}.contact-flag-phone{background:#fff8eb;color:#93370d;border-color:#fedf89}.contact-flag-address{background:#f0f9ff;color:#026aa2;border-color:#b9e6fe}.contact-flag-both{background:#fdf2fa;color:#9f1ab1;border-color:#f6a8ff}@media (max-width: 768px){.page-content{padding:1rem}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:100vh;font-size:.95rem;color:var(--mrrg-text-muted, #666);background-color:var(--mrrg-bg, #f3f5f4)}.loading:before{content:"";width:1.75rem;height:1.75rem;border-radius:50%;border:3px solid #d5dde4;border-top-color:var(--mrrg-green-700, #2d6b4d);animation:app-loading-spin .8s linear infinite}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.loading:before{animation:none;border-top-color:#d5dde4}}
