.unified-modal{width:100vw;height:100vh;z-index:var(--z-modal);will-change:auto;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;transform:translateZ(0)}.unified-modal-backdrop{background-color:var(--modal-backdrop);width:100vw;height:100vh;z-index:var(--z-modal-backdrop);transition:opacity var(--transition-base);position:fixed;top:0;left:0}.unified-modal-dialog{width:100%;height:100%;padding:var(--modal-padding-lg);z-index:var(--z-modal);box-sizing:border-box;justify-content:center;align-items:center;max-width:100vw;max-height:100vh;display:flex;position:relative}@supports (height:100dvh){.unified-modal,.unified-modal-backdrop{height:100dvh}.unified-modal-dialog{height:100dvh;max-height:100dvh}.modal-size-full .unified-modal-content,.modal-size-mobile-full .unified-modal-content{height:100dvh}}.unified-modal-content{background:var(--modal-bg);border:var(--border-width-thin) var(--border-style) var(--border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--modal-shadow-lg);max-height:var(--modal-max-height);min-height:var(--modal-min-height);transition:opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);pointer-events:auto;opacity:1;flex-direction:column;display:flex;position:relative;overflow:hidden}.modal-size-xs .unified-modal-content{width:100%;max-width:var(--modal-width-xs)}.modal-size-sm .unified-modal-content{width:100%;max-width:var(--modal-width-sm)}.modal-size-md .unified-modal-content{width:100%;max-width:var(--modal-width-md)}.modal-size-lg .unified-modal-content{width:100%;max-width:var(--modal-width-lg)}.modal-size-xl .unified-modal-content{width:100%;max-width:var(--modal-width-xl)}.modal-size-full .unified-modal-content,.modal-size-mobile-full .unified-modal-content{border:none;border-radius:0;width:100%;max-width:none;height:100%;max-height:none}.modal-size-full .unified-modal-header,.modal-size-full .unified-modal-footer,.modal-size-mobile-full .unified-modal-header,.modal-size-mobile-full .unified-modal-footer{border-radius:0}.unified-modal-header{padding:var(--modal-padding-lg) var(--modal-padding-lg) var(--modal-padding-md);border-bottom:1px solid var(--modal-border);background:var(--modal-header-bg-default);border-radius:var(--modal-radius-lg) var(--modal-radius-lg) 0 0;flex-shrink:0;justify-content:space-between;align-items:center;min-height:60px;display:flex}.unified-modal-header-content{align-items:center;gap:var(--modal-padding-sm);flex:1;min-width:0;display:flex}.unified-modal-title{font-size:var(--modal-title-size-md);font-weight:var(--modal-title-weight);line-height:var(--modal-title-line-height);color:var(--modal-header-text-default);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.modal-variant-icon{flex-shrink:0}.unified-modal-close{width:var(--modal-close-button-size);height:var(--modal-close-button-size);border-radius:var(--modal-radius-sm);color:var(--modal-header-text-default);cursor:pointer;transition:var(--transition-colors), opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.unified-modal-close:hover{color:var(--modal-header-text-default);background:#0000001a}.unified-modal-close:focus-visible{outline:var(--focus-ring-outline);box-shadow:var(--modal-focus-ring)}.unified-modal-close:disabled{opacity:.5;cursor:not-allowed}.unified-modal-body{padding:var(--modal-padding-lg);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#0003 transparent;flex:1;overflow:hidden auto}.unified-modal-body::-webkit-scrollbar{width:6px}.unified-modal-body::-webkit-scrollbar-track{background:0 0}.unified-modal-body::-webkit-scrollbar-thumb{border-radius:var(--radius-control);background:#0003}.unified-modal-body::-webkit-scrollbar-thumb:hover{background:#0000004d}.unified-modal-footer{justify-content:flex-end;align-items:center;gap:var(--modal-padding-sm);padding:var(--modal-padding-md) var(--modal-padding-lg) var(--modal-padding-lg);border-top:1px solid var(--modal-border);background:var(--modal-background);border-radius:0 0 var(--modal-radius-lg) var(--modal-radius-lg);flex-shrink:0;display:flex}.modal-variant-primary .unified-modal-header{background:var(--modal-header-bg-primary);color:var(--modal-header-text-light)}.modal-variant-primary .unified-modal-title,.modal-variant-primary .unified-modal-close{color:var(--modal-header-text-light)}.modal-variant-primary .unified-modal-close:hover{background:#ffffff1a}.modal-variant-primary .modal-variant-icon{color:var(--modal-header-text-light)}.modal-variant-success .unified-modal-header{background:var(--modal-header-bg-success);color:var(--modal-header-text-light)}.modal-variant-success .unified-modal-title,.modal-variant-success .unified-modal-close{color:var(--modal-header-text-light)}.modal-variant-success .unified-modal-close:hover{background:#ffffff1a}.modal-variant-success .modal-variant-icon{color:var(--modal-header-text-light)}.modal-variant-success .unified-modal-close:focus-visible{box-shadow:var(--modal-focus-ring-success)}.modal-variant-warning .unified-modal-header{background:var(--modal-header-bg-warning);color:var(--modal-header-text-default)}.modal-variant-warning .unified-modal-title,.modal-variant-warning .unified-modal-close{color:var(--modal-header-text-default)}.modal-variant-warning .unified-modal-close:hover{background:#0000001a}.modal-variant-warning .modal-variant-icon{color:var(--modal-header-text-default)}.modal-variant-danger .unified-modal-header{background:var(--modal-header-bg-danger);color:var(--modal-header-text-light)}.modal-variant-danger .unified-modal-title,.modal-variant-danger .unified-modal-close{color:var(--modal-header-text-light)}.modal-variant-danger .unified-modal-close:hover{background:#ffffff1a}.modal-variant-danger .modal-variant-icon{color:var(--modal-header-text-light)}.modal-variant-danger .unified-modal-close:focus-visible{box-shadow:var(--modal-focus-ring-danger)}.modal-variant-info .unified-modal-header{background:var(--modal-header-bg-primary);color:var(--modal-header-text-light)}.modal-variant-info .unified-modal-title,.modal-variant-info .unified-modal-close{color:var(--modal-header-text-light)}.modal-variant-info .unified-modal-close:hover{background:#ffffff1a}.modal-variant-info .modal-variant-icon{color:var(--modal-header-text-light)}.modal-duration-fast{transition-duration:var(--modal-duration-fast)}.modal-duration-normal{transition-duration:var(--modal-duration-normal)}.modal-duration-slow{transition-duration:var(--modal-duration-slow)}.modal-fade .unified-modal-backdrop,.modal-fade .unified-modal-content{opacity:0}.modal-fade.modal-mounted .unified-modal-backdrop,.modal-fade.modal-mounted .unified-modal-content{opacity:1}.modal-fade-scale .unified-modal-backdrop{opacity:0}.modal-fade-scale .unified-modal-content{opacity:0;transform:scale(.95)translateY(-10px)}.modal-fade-scale.modal-mounted .unified-modal-backdrop{opacity:1}.modal-fade-scale.modal-mounted .unified-modal-content{opacity:1;transform:scale(1)translateY(0)}.modal-slide-up .unified-modal-backdrop{opacity:0}.modal-slide-up .unified-modal-content{opacity:0;transform:translateY(100px)}.modal-slide-up.modal-mounted .unified-modal-backdrop{opacity:1}.modal-slide-up.modal-mounted .unified-modal-content{opacity:1;transform:translateY(0)}.modal-slide-down .unified-modal-backdrop{opacity:0}.modal-slide-down .unified-modal-content{opacity:0;transform:translateY(-100px)}.modal-slide-down.modal-mounted .unified-modal-backdrop{opacity:1}.modal-slide-down.modal-mounted .unified-modal-content{opacity:1;transform:translateY(0)}@media (width<=767px){.unified-modal.modal-mobile{padding:0}.unified-modal.modal-mobile:not(.modal-size-mobile-full,.modal-size-full) .unified-modal-dialog{padding:var(--modal-padding-md)}.unified-modal.modal-mobile.modal-size-mobile-full .unified-modal-dialog,.unified-modal.modal-mobile.modal-size-full .unified-modal-dialog{padding:0}.modal-size-mobile .unified-modal-content{border-radius:var(--modal-radius-lg);width:100%;max-width:none;margin:0}.modal-size-mobile-full .unified-modal-content{border:none;border-radius:0;width:100%;height:100%;margin:0}.unified-modal.modal-mobile .unified-modal-close{width:var(--modal-touch-target-min);height:var(--modal-touch-target-min);min-width:var(--modal-touch-target-min);min-height:var(--modal-touch-target-min)}.unified-modal.modal-mobile .unified-modal-title{font-size:var(--modal-title-size-sm);white-space:normal;text-overflow:unset;overflow:visible}.unified-modal.modal-mobile .unified-modal-header{padding:var(--modal-padding-md);padding-top:calc(var(--modal-padding-md) + var(--modal-safe-area-top));padding-left:calc(var(--modal-padding-md) + var(--modal-safe-area-left));padding-right:calc(var(--modal-padding-md) + var(--modal-safe-area-right))}.unified-modal.modal-mobile .unified-modal-body{padding:var(--modal-padding-md);padding-left:calc(var(--modal-padding-md) + var(--modal-safe-area-left));padding-right:calc(var(--modal-padding-md) + var(--modal-safe-area-right))}.unified-modal.modal-mobile .unified-modal-footer{padding:var(--modal-padding-md);padding-bottom:calc(var(--modal-padding-md) + var(--modal-safe-area-bottom));padding-left:calc(var(--modal-padding-md) + var(--modal-safe-area-left));padding-right:calc(var(--modal-padding-md) + var(--modal-safe-area-right));gap:var(--modal-padding-sm);flex-direction:column-reverse;align-items:stretch}.unified-modal.modal-mobile .unified-modal-footer>*{width:100%}.unified-modal.modal-mobile .unified-modal-footer .d-flex{align-items:stretch;gap:var(--modal-padding-sm);flex-direction:column-reverse;width:100%}.unified-modal.modal-mobile .unified-modal-footer .d-flex>*{width:100%;margin:0!important}.unified-modal.modal-mobile .unified-modal-footer .btn,.unified-modal.modal-mobile .unified-modal-footer button{min-height:var(--modal-touch-target-min)}}@media (width>=768px) and (width<=1024px){.unified-modal.modal-tablet .unified-modal-dialog{padding:var(--modal-padding-lg)}.modal-size-lg .unified-modal-content,.modal-size-xl .unified-modal-content{max-width:90vw}}@media (width>=1025px){.unified-modal.modal-desktop .unified-modal-dialog{padding:var(--modal-padding-xl)}}.modal-static .unified-modal-backdrop,.modal-animating{pointer-events:none}.modal-animating .unified-modal-content{pointer-events:auto}.unified-modal:focus-visible,.unified-modal-content:focus-visible,.unified-modal-title:focus-visible{outline:var(--focus-ring-outline)}@media (prefers-contrast:more){.unified-modal-content{border:2px solid}.unified-modal-header{border-bottom:2px solid}.unified-modal-footer{border-top:2px solid}}@media print{.unified-modal{background:0 0!important;width:auto!important;height:auto!important;position:static!important}.unified-modal-backdrop{display:none!important}.unified-modal-content{box-shadow:none!important;border:1px solid var(--color-gray-900)!important;border-radius:0!important;position:static!important}.unified-modal-close{display:none!important}}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-header{gap:var(--spacing-lg)}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-title,.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-close{color:var(--color-gray-900)}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal) .modal-variant-icon{color:var(--color-danger)}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-title{white-space:normal;line-height:1.35;font-size:var(--font-size-lg)}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-title small,.unified-modal.pump-test-modal .unified-modal-title .small{color:var(--color-gray-600);font-size:var(--font-size-sm);opacity:1;font-weight:400;display:block;margin:4px 0 0!important}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-close{flex:0 0 44px;width:44px;height:44px}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .text-muted{color:var(--color-gray-600)!important}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) textarea.form-control{resize:vertical;height:auto;min-height:96px}.failure-options{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;display:grid}.failure-options .failure-choice{justify-content:space-between;align-items:center;gap:var(--spacing-sm);min-height:var(--control-height);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-control);color:var(--text-primary);background:var(--bg-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);text-align:left;cursor:pointer;transition:var(--transition-colors);margin:0;display:flex;position:relative}.failure-options .failure-choice:after{content:"";border:1px solid var(--color-gray-400);width:18px;height:18px;color:var(--color-gray-50);font-family:"Font Awesome 6 Free",sans-serif;font-size:var(--font-size-xs);border-radius:50%;flex:0 0 18px;place-items:center;font-weight:900;display:grid}.failure-options .failure-choice:hover{border-color:var(--color-gray-400);background:var(--color-gray-100)}.failure-options .failure-choice.is-selected{border-color:var(--color-danger-600);background:var(--color-danger-light)}.failure-options .failure-choice.is-selected:after{content:"";border-color:var(--color-danger-600);background:var(--color-danger-600)}.failure-options .failure-choice:focus-within{outline-offset:var(--focus-ring-offset)}.failure-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.unified-modal:is(.pump-test-modal,.flow-test-modal) .form-check{border:1px solid var(--color-gray-200);border-radius:var(--modal-radius-md);align-items:center;gap:10px;min-height:44px;margin:0;padding:0 10px;display:flex}.unified-modal:is(.pump-test-modal,.flow-test-modal) .form-check-input{float:none;flex:0 0 20px;width:20px;height:20px;margin:0}.unified-modal:is(.pump-test-modal,.flow-test-modal) .form-check-label{cursor:pointer;min-height:44px;font-size:var(--font-size-sm);flex:1;align-self:stretch;align-items:center;padding:6px 0;display:flex}.unified-modal.pump-test-modal .badge.bg-secondary{background:var(--color-gray-100)!important;color:var(--color-gray-700)!important}.unified-modal.pump-test-modal .pump-test-modal-buttons{justify-content:flex-end}.unified-modal.pump-test-modal .pump-test-modal-buttons .btn{min-width:100px;flex:0 auto!important}.flow-test-stepper{align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-lg);padding:0;list-style:none;display:flex}.flow-test-step{align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);display:flex}.flow-test-step+.flow-test-step:before{content:"";background:var(--color-gray-300);width:24px;height:1px}.flow-test-step-index{border:1px solid var(--color-gray-300);width:24px;height:24px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:50%;place-items:center;display:inline-grid}.flow-test-step.is-current{color:var(--color-primary-700)}.flow-test-step.is-current .flow-test-step-index{border-color:var(--color-primary-600);background:var(--color-primary-600);color:var(--color-gray-50)}.flow-test-step.is-done .flow-test-step-index{border-color:var(--color-primary-200);background:var(--color-primary-50);color:var(--color-primary-700)}@media (width<=767px){.flow-test-step:not(.is-current) .flow-test-step-label{display:none}}.flow-test-modal .list-group-item{flex-wrap:wrap;gap:16px}.flow-test-modal .list-group-item>span{overflow-wrap:anywhere}.flow-test-modal .outlet-flow-item{margin-left:0;margin-right:0;align-items:start!important}@media (width<=767px){.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-header{padding:12px;padding-top:calc(12px + env(safe-area-inset-top,0px))}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-footer{flex-direction:row;gap:8px}.unified-modal:is(.hose-failure-modal,.ladder-failure-modal,.pump-test-modal,.flow-test-modal) .unified-modal-footer>button{flex:1 1 0;width:auto}.unified-modal.pump-test-modal .unified-modal-footer .pump-test-modal-buttons{flex-direction:row;gap:8px!important}.unified-modal.pump-test-modal .pump-test-modal-buttons .btn{min-width:0;flex:1 1 0!important}.unified-modal.pump-test-modal .col-md-4,.unified-modal.pump-test-modal .col-md-6{margin-bottom:0}.unified-modal:is(.pump-test-modal,.flow-test-modal) .form-control,.unified-modal:is(.pump-test-modal,.flow-test-modal) .form-select{min-height:44px;font-size:var(--font-size-base)}.failure-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.failure-options .failure-choice{transition:none}}@media (width<=374px){.failure-options{grid-template-columns:minmax(0,1fr)}}.test-form-summary{margin:0 0 var(--spacing-lg);color:var(--text-secondary);font-size:var(--font-size-sm)}.test-form-section{padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200)}.test-form-section:last-of-type{border-bottom:0;margin-bottom:0}.test-form-section-title{margin:0 0 var(--spacing-md);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.unified-modal{top:var(--overlay-top,0);height:var(--overlay-height,100dvh)}.unified-modal .unified-modal-dialog{height:100%;max-height:100%;padding:20px}.unified-modal .unified-modal-content{border-radius:var(--radius-overlay);min-height:0;max-height:100%;box-shadow:var(--elevation-1)}.unified-modal .unified-modal-header{border-bottom:1px solid var(--color-gray-200);background:var(--bg-primary,var(--color-gray-50));min-height:56px;color:var(--text-primary,var(--color-gray-800));flex:none;gap:12px;padding:8px 16px}.unified-modal .unified-modal-title{font-size:var(--font-size-lg);letter-spacing:-.01em;margin:0;line-height:1.35}.unified-modal .unified-modal-close{width:44px;height:44px;color:var(--text-secondary);flex:0 0 44px}.unified-modal .unified-modal-body{overscroll-behavior:contain;min-height:0;padding:16px}.unified-modal .unified-modal-footer{border-top:1px solid var(--color-gray-200);background:var(--bg-primary,var(--color-gray-50));flex-flow:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px}.unified-modal .unified-modal-footer :is(button,.btn){min-height:44px}.unified-modal.modal-nonblocking,.unified-modal.modal-nonblocking .unified-modal-dialog{pointer-events:none}.unified-modal.modal-presentation-drawer .unified-modal-dialog{justify-content:flex-end;padding:0}.unified-modal.modal-presentation-drawer .unified-modal-content{width:min(580px,100vw);max-width:none;height:100%;max-height:100%;box-shadow:var(--elevation-1);pointer-events:auto;border-width:0 0 0 1px;border-radius:0}.unified-modal.modal-presentation-sheet .unified-modal-content{width:min(540px,100%);max-width:none}@media (width<=1024px){.unified-modal.modal-presentation-drawer .unified-modal-dialog{padding:var(--modal-padding-lg);justify-content:center}.unified-modal.modal-presentation-drawer .unified-modal-content{width:min(640px,100%);height:auto;max-height:calc(var(--overlay-height,100dvh) - 2 * var(--modal-padding-lg));border-radius:var(--radius-overlay);box-shadow:var(--elevation-3);border-width:1px}}.failure-notes-toggle{min-height:44px;color:var(--color-primary-700);font-size:var(--font-size-sm);background:0 0;border:0;padding:8px 0}.inspection-quick-body{padding:4px 8px 8px}.inspection-quick-footer{background:var(--bg-primary,var(--color-gray-50));border-top:1px solid var(--color-gray-200);justify-content:flex-end;gap:8px;padding:8px;display:flex;position:sticky;bottom:-8px}.inspection-quick-footer button{min-height:44px}.inline-delete-confirm{border:1px solid var(--color-danger);border-radius:var(--radius-card);background:var(--color-danger-light);padding:12px}@media (width<=767px){.unified-modal.modal-mobile .unified-modal-header{padding:6px 12px;padding-top:max(6px, env(safe-area-inset-top,0px))}.unified-modal.modal-mobile .unified-modal-body{padding:12px}.unified-modal.modal-mobile .unified-modal-footer{padding:8px 12px;padding-bottom:max(8px, env(safe-area-inset-bottom,0px));flex-direction:row;gap:8px}.unified-modal.modal-mobile .unified-modal-footer>button{flex:auto;width:auto}.unified-modal.modal-mobile .unified-modal-footer .d-flex{flex-flow:wrap}.unified-modal.modal-mobile .unified-modal-footer .d-flex>button{flex:auto;width:auto}.unified-modal.modal-mobile :is(input,select,textarea){font-size:var(--font-size-base)}.unified-modal.modal-presentation-drawer .unified-modal-dialog{padding:0}.unified-modal.modal-presentation-drawer .unified-modal-content{width:100%;height:100%;max-height:100%;box-shadow:none;border:0;border-radius:0}.unified-modal.modal-presentation-sheet .unified-modal-dialog{align-items:flex-end;padding:0}.unified-modal.modal-presentation-sheet .unified-modal-content{border-radius:0;width:100%;height:100%;max-height:100%}}@media (prefers-reduced-motion:reduce){.unified-modal .unified-modal-content{transition:none!important;animation:none!important}}@media (width<=767px){.modal-presentation-sheet .unified-modal-header:before{content:"";border-radius:var(--radius-pill);background:var(--color-border-default);width:40px;height:4px;display:block;position:absolute;top:8px;left:calc(50% - 20px)}.modal-presentation-sheet .unified-modal-header{padding-top:24px;position:relative}}
