.button{cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;font-weight:600;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.button:focus{outline:none}.button:focus-visible{outline-offset:2px;outline:2px solid #0057b8}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{color:#fff;background-color:#0057b8}.button--primary:hover:not(:disabled){background-color:#004691;box-shadow:0 4px 14px rgba(0,87,184,.15)}.button--primary:active:not(:disabled){background-color:#00346d}.button--primary:focus-visible{outline-offset:2px;outline:2px solid #0057b8}.button--secondary{color:#004691;background-color:#fff;border:2px solid #0057b8}.button--secondary:hover:not(:disabled){background-color:#e6f0fb}.button--secondary:active:not(:disabled){background-color:#cce1f7}.button--secondary:focus-visible{outline-offset:2px;outline:2px solid #0057b8}.button--yellow{color:#111827;background-color:#f2a900}.button--yellow:hover:not(:disabled){background-color:#c28700;box-shadow:0 4px 14px rgba(242,169,0,.15)}.button--yellow:active:not(:disabled){background-color:#916500}.button--yellow:focus-visible{outline-offset:2px;outline:2px solid #f2a900}.button--ghost{color:#374151;background-color:transparent}.button--ghost:hover:not(:disabled){background-color:#f3f4f6}.button--ghost:active:not(:disabled){background-color:#e5e7eb}.button--ghost:focus-visible{outline-offset:2px;outline:2px solid #9ca3af}.button--icon{color:#4b5563;background-color:transparent}.button--icon:hover:not(:disabled){background-color:#f3f4f6}.button--icon:active:not(:disabled){background-color:#e5e7eb}.button--icon:focus-visible{outline-offset:2px;outline:2px solid #9ca3af}.button--sm{padding:.5rem 1rem;font-size:.875rem}.button--md{padding:.75rem 1.5rem;font-size:1rem}.button--lg{padding:1rem 2rem;font-size:1.125rem}.button--icon.button--sm{width:2rem;height:2rem;padding:0}.button--icon.button--md{width:2.5rem;height:2.5rem;padding:0}.button--icon.button--lg{width:3rem;height:3rem;padding:0}.button--loading,.button--disabled,.button:disabled{cursor:not-allowed;opacity:.5}.button__icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.button__spinner{width:1rem;height:1rem;animation:1s linear infinite spin}.input{flex-direction:column;gap:.375rem;display:flex}.input__label{color:#374151;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.input__wrapper{position:relative}.input__field{color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:block}.input__field::placeholder{color:#9ca3af}.input__field:focus{border-color:#0057b8;outline:none;box-shadow:0 0 0 3px rgba(0,87,184,.1)}.input__field:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.input__field--with-start-icon{padding-left:2.5rem}.input__field--with-end-icon{padding-right:3rem}.input__start-icon{color:#9ca3af;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.input__start-icon svg{width:1.25rem;height:1.25rem}.input__end-icon{color:#9ca3af;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.input__end-icon svg{width:1.25rem;height:1.25rem}.input__end-icon button{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;margin:-.25rem;padding:.25rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:flex}.input__end-icon button:hover{color:#4b5563}.input__end-icon button:focus-visible{outline-offset:2px;outline:2px solid #0057b8}.input__helper{color:#6b7280;font-size:.875rem}.input__error{color:#dc2626;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.input__error svg{flex-shrink:0;width:1rem;height:1rem}.input--error .input__field{border-color:#ef4444}.input--error .input__field:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.input--disabled .input__field{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.badge{border:1px solid;border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.badge--success{color:#047857;background-color:#f0fdf4;border-color:#bbf7d0}.badge--warning{color:#b45309;background-color:#fffbeb;border-color:#fde68a}.badge--error{color:#b91c1c;background-color:#fef2f2;border-color:#fecaca}.badge--info{color:#00346d;background-color:#e6f0fb;border-color:#99c3ef}.badge--default{color:#374151;background-color:#f3f4f6;border-color:#e5e7eb}.badge__dot{border-radius:9999px;width:.5rem;height:.5rem}.badge--success .badge__dot{background-color:#10b981}.badge--warning .badge__dot{background-color:#f59e0b}.badge--error .badge__dot{background-color:#ef4444}.badge--info .badge__dot{background-color:#0057b8}.badge--default .badge__dot{background-color:#6b7280}.card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,.05)}.card--interactive{cursor:pointer;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.card--interactive:hover{border-color:#99c3ef;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.card--interactive:focus-visible{outline-offset:2px;outline:2px solid #0057b8}.card--button{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:0;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:block;box-shadow:0 1px 2px rgba(0,0,0,.05)}.card--button:hover{border-color:#99c3ef;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.card--button:focus-visible{outline-offset:2px;outline:2px solid #0057b8}.card__header{align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.card__header--with-actions{justify-content:space-between}.card__header-content{align-items:center;gap:.75rem;display:flex}.card__header-icon{color:#004691;background-color:#e6f0fb;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.card__header-icon svg{width:1.25rem;height:1.25rem}.card__header-title{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.card__header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.card__header--compact{margin-bottom:.75rem;padding:0}.card__header--compact .card__header-content{flex:1;min-width:0}.card__header--compact .card__header-icon{color:#6b7280;background:0 0;border-radius:0;width:auto;height:auto}.card__header--compact .card__header-icon svg{width:1rem;height:1rem}.card__header--compact .card__header-title{color:#111827;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.card__header--compact .card__header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem}@media (max-width:639px){.card__header--compact{align-items:flex-start}.card__header--compact .card__header-title{white-space:normal;overflow:visible}}.card__content{padding:1.5rem}.card__header+.card__content{padding-top:0}.card__footer{border-top:1px solid #e5e7eb;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.card__footer--start{justify-content:flex-start}.card__footer--center{justify-content:center}.card__footer--end{justify-content:flex-end}.card__footer--between{justify-content:space-between}.card>.card-content{padding:1.5rem}.alert{border:1px solid;border-radius:.5rem;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.alert--success{background-color:#f0fdf4;border-color:#bbf7d0}.alert--success .alert__icon{color:#10b981}.alert--success .alert__title,.alert--success .alert__message{color:#047857}.alert--success .alert__dismiss{color:#10b981}.alert--success .alert__dismiss:hover{color:#047857}.alert--warning{background-color:#fffbeb;border-color:#fde68a}.alert--warning .alert__icon{color:#f59e0b}.alert--warning .alert__title,.alert--warning .alert__message{color:#b45309}.alert--warning .alert__dismiss{color:#f59e0b}.alert--warning .alert__dismiss:hover{color:#b45309}.alert--error{background-color:#fef2f2;border-color:#fecaca}.alert--error .alert__icon{color:#ef4444}.alert--error .alert__title,.alert--error .alert__message{color:#b91c1c}.alert--error .alert__dismiss{color:#ef4444}.alert--error .alert__dismiss:hover{color:#b91c1c}.alert--info{background-color:#e6f0fb;border-color:#99c3ef}.alert--info .alert__icon{color:#0057b8}.alert--info .alert__title{color:#001125}.alert--info .alert__message{color:#00346d}.alert--info .alert__dismiss{color:#0057b8}.alert--info .alert__dismiss:hover{color:#00346d}.alert__icon{flex-shrink:0;margin-top:.125rem}.alert__icon svg{width:1.25rem;height:1.25rem}.alert__content{flex:1;min-width:0}.alert__title{margin-bottom:.25rem;font-size:.875rem;font-weight:600}.alert__message{font-size:.875rem}.alert__dismiss{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.alert__dismiss svg{width:1.25rem;height:1.25rem}.select{flex-direction:column;gap:.375rem;display:flex}.select__label{color:#374151;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.select__field{color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:block}.select__field::placeholder{color:#9ca3af}.select__field:focus{border-color:#0057b8;outline:none;box-shadow:0 0 0 3px rgba(0,87,184,.1)}.select__field:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.select__field{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3e%3cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27M6 8l4 4 4-4%27/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.select__helper{color:#6b7280;font-size:.875rem}.select__error{color:#dc2626;font-size:.875rem}.select--error .select__field{border-color:#ef4444}.select--error .select__field:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.select--disabled .select__field{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.textarea{flex-direction:column;gap:.375rem;display:flex}.textarea__label{color:#374151;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.textarea__field{color:#111827;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:block}.textarea__field::placeholder{color:#9ca3af}.textarea__field:focus{border-color:#0057b8;outline:none;box-shadow:0 0 0 3px rgba(0,87,184,.1)}.textarea__field:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.textarea__field{resize:none;min-height:6rem}.textarea__helper{color:#6b7280;font-size:.875rem}.textarea__error{color:#dc2626;align-items:center;gap:.25rem;font-size:.875rem;display:flex}.textarea__error svg{flex-shrink:0;width:1rem;height:1rem}.textarea--error .textarea__field{border-color:#ef4444}.textarea--error .textarea__field:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.textarea--disabled .textarea__field{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.spinner{border-style:solid;border-color:#0057b8 #e5e7eb #e5e7eb;border-radius:9999px;animation:1s linear infinite spin}.spinner--sm{border-width:2px;width:1rem;height:1rem}.spinner--md{border-width:3px;width:2rem;height:2rem}.spinner--lg{border-width:4px;width:3rem;height:3rem}.page-loader{width:100%;min-height:calc(100vh - 14rem - env(safe-area-inset-top,0px));min-height:calc(100dvh - 14rem - env(safe-area-inset-top,0px));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.page-loader--inline{min-height:9rem;padding:1.5rem 1rem}.page-loader__rings{width:3.5rem;height:3.5rem;position:relative}.page-loader__ring{will-change:transform;border:3px solid transparent;border-radius:9999px;position:absolute;top:0;bottom:0;left:0;right:0}.page-loader__ring--outer{border-top-color:#0057b8;border-right-color:#0057b8;animation:1.1s cubic-bezier(.5,0,.5,1) infinite spin}.page-loader__ring--inner{border-top-color:#f2a900;border-left-color:#f2a900;animation:.85s cubic-bezier(.5,0,.5,1) infinite reverse spin;top:.55rem;bottom:.55rem;left:.55rem;right:.55rem}.page-loader__pulse{background-color:#0057b8;border-radius:9999px;width:.45rem;height:.45rem;margin:-.225rem 0 0 -.225rem;animation:1.4s ease-in-out infinite page-loader-pulse;position:absolute;top:50%;left:50%}.page-loader__label{color:#6b7280;letter-spacing:.3px;font-size:.875rem;font-weight:500}@keyframes page-loader-pulse{0%,to{opacity:.4;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.spinner,.page-loader__ring,.page-loader__pulse{animation-duration:2.5s!important}}.loading-screen{min-height:100vh;background-color:#f9fafb;justify-content:center;align-items:center;min-height:100dvh;display:flex}.loading-overlay{z-index:50;background-color:rgba(17,24,39,.5);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.loading-overlay__content{background-color:#fff;border-radius:.75rem;min-width:12rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.modal{z-index:50;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.modal__backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:rgba(17,24,39,.5);transition:opacity .2s;position:fixed;top:0;bottom:0;left:0;right:0}.modal__wrapper{justify-content:center;align-items:center;min-height:100%;padding:1rem;display:flex}.modal__container{background-color:#fff;border-radius:.75rem;width:100%;transition:transform .2s;position:relative;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.modal__container--sm{max-width:24rem}.modal__container--md{max-width:28rem}.modal__container--lg{max-width:32rem}.modal__header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal__title{color:#111827;font-size:1.125rem;font-weight:600}.modal__close{color:#9ca3af;border-radius:.5rem;padding:.25rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.modal__close:hover{color:#4b5563;background-color:#f3f4f6}.modal__close svg{width:1.25rem;height:1.25rem}.modal__body{padding:1rem 1.5rem}.modal__footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 .75rem .75rem;justify-content:flex-end;align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.camera-option{text-align:left;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:.75rem;align-items:center;gap:1rem;width:100%;padding:1rem;transition:all .2s;display:flex}.camera-option:hover{background-color:#f9fafb;border-color:#66a5e7}.camera-option:active{transform:scale(.98)}.camera-option__icon{border-radius:9999px;padding:.75rem}.camera-option__icon svg{width:1.5rem;height:1.5rem}.camera-option__icon--camera{background-color:#cce1f7}.camera-option__icon--camera svg{color:#004691}.camera-option__icon--gallery{background-color:#f3f4f6}.camera-option__icon--gallery svg{color:#4b5563}.camera-option__text{text-align:left}.camera-option__title{color:#111827;font-weight:500}.camera-option__subtitle{color:#6b7280;font-size:.875rem}.camera-modal__options{flex-direction:column;gap:.75rem;display:flex}.camera-modal__cancel{text-align:center;color:#6b7280;cursor:pointer;background:0 0;border:none;width:100%;padding:.75rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.camera-modal__cancel:hover{color:#374151}.multiselect{position:relative}.multiselect__label{color:#111827;letter-spacing:-.025em;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.multiselect__trigger{text-align:left;cursor:pointer;background-color:#fff;border:2px solid #e5e7eb;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.75rem .75rem .5rem;transition:all .2s;display:flex;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.05)}.multiselect__trigger:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.multiselect__trigger:focus{border-color:#0057b8;outline:none;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1),0 0 0 3px rgba(0,87,184,.1)}.multiselect__floating-label{color:#004691;background-color:#fff;padding:0 .375rem;font-size:.75rem;font-weight:500;position:absolute;top:-.5rem;left:.75rem}.multiselect__values{flex-wrap:nowrap;flex:1;align-items:center;gap:.375rem;min-height:1.25rem;display:flex;overflow:hidden}.multiselect__placeholder{color:#9ca3af;font-size:.875rem;font-weight:500}.multiselect__chip{color:#fff;background:linear-gradient(to bottom right,#0057b8,#004691);border-radius:.5rem;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}.multiselect__chip:hover{box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)}.multiselect__chip-remove{width:.875rem;height:.875rem;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s;display:flex}.multiselect__chip-remove:hover{background-color:rgba(255,255,255,.2)}.multiselect__chip-remove svg{width:.75rem;height:.75rem}.multiselect__summary{align-items:center;gap:.5rem;display:inline-flex}.multiselect__count{color:#fff;background:linear-gradient(to bottom right,#0057b8,#004691);border-radius:9999px;justify-content:center;align-items:center;min-width:1.5rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px rgba(0,0,0,.05)}.multiselect__count-text{color:#4b5563;font-size:.875rem;font-weight:500}.multiselect__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.multiselect__clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;transition:all .2s;display:flex}.multiselect__clear:hover{color:#4b5563;background-color:#f3f4f6}.multiselect__clear svg{width:1rem;height:1rem}.multiselect__chevron{color:#9ca3af;transition:transform .2s}.multiselect__chevron svg{width:1.25rem;height:1.25rem}.multiselect__dropdown{z-index:10;background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;width:100%;margin-top:.5rem;animation:.2s ease-out slide-down;position:absolute;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}.multiselect__options{max-height:17.5rem;padding:.375rem 0;overflow-y:auto}.multiselect__options::-webkit-scrollbar{width:8px;height:8px}.multiselect__options::-webkit-scrollbar-track{background:#f3f4f6;border-radius:.25rem}.multiselect__options::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:.25rem}.multiselect__options::-webkit-scrollbar-thumb:hover{background:#9ca3af}.multiselect__option{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.625rem 1rem;transition:all .2s;display:flex;position:relative}.multiselect__option:hover{background-color:#f9fafb}.multiselect__option--selected,.multiselect__option--selected:hover{background-color:#e6f0fb}.multiselect__checkbox{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.multiselect__checkbox-box{border:2px solid #d1d5db;border-radius:.375rem;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;transition:all .2s;display:flex;transform:scale(.95)}.multiselect__option:hover .multiselect__checkbox-box{border-color:#9ca3af;transform:scale(1)}.multiselect__checkbox-box--checked{background-color:#0057b8;border-color:#0057b8;transform:scale(1)}.multiselect__checkbox-box svg{color:#fff;opacity:0;width:.875rem;height:.875rem;transition:all .2s;transform:scale(.5)}.multiselect__checkbox-box--checked svg{opacity:1;transform:scale(1)}.multiselect__option-label{color:#374151;font-size:.875rem;font-weight:500;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.multiselect__option:hover .multiselect__option-label{color:#111827}.multiselect__option--selected .multiselect__option-label{color:#001125}.multiselect__error{align-items:flex-start;gap:.375rem;margin-top:.5rem;display:flex}.multiselect__error-dot{background-color:#ef4444;border-radius:9999px;flex-shrink:0;width:.25rem;height:.25rem;margin-top:.375rem}.multiselect__error-text{color:#dc2626;font-size:.875rem;font-weight:500}.multiselect--open .multiselect__trigger{border-color:#0057b8;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1),0 0 0 3px rgba(0,87,184,.1)}.multiselect--open .multiselect__chevron{color:#0057b8;transform:rotate(180deg)}.multiselect--error .multiselect__trigger{border-color:#fca5a5}.multiselect--error .multiselect__trigger:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}@keyframes snackbar-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes snackbar-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes snackbar-slide-in-mobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes snackbar-slide-out-mobile{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.snackbar-container{z-index:70;pointer-events:none;flex-direction:column;gap:.75rem;max-height:calc(100vh - 2rem);display:flex;position:fixed;overflow:hidden}.snackbar-container--bottom-right{bottom:1.5rem;right:1.5rem}.snackbar-container--bottom-left{bottom:1.5rem;left:1.5rem}.snackbar-container--top-right{top:1.5rem;right:1.5rem}.snackbar-container--top-left{top:1.5rem;left:1.5rem}@media (max-width:767px){.snackbar-container,.snackbar-container--bottom-right,.snackbar-container--bottom-left,.snackbar-container--top-right,.snackbar-container--top-left{top:auto;bottom:1rem;left:1rem;right:1rem}}.snackbar{pointer-events:auto;border:1px solid;border-radius:.5rem;align-items:flex-start;gap:.75rem;min-width:320px;max-width:420px;padding:1rem;animation:.3s ease-out snackbar-slide-in;display:flex;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}@media (max-width:767px){.snackbar{width:100%;min-width:0;max-width:none;animation:.3s ease-out snackbar-slide-in-mobile}}.snackbar--exiting{animation:.2s ease-in forwards snackbar-slide-out}@media (max-width:767px){.snackbar--exiting{animation:.2s ease-in forwards snackbar-slide-out-mobile}}.snackbar--success{background-color:#f0fdf4;border-color:#bbf7d0}.snackbar--success .snackbar__icon{color:#10b981}.snackbar--success .snackbar__title,.snackbar--success .snackbar__message{color:#047857}.snackbar--success .snackbar__action{color:#059669}.snackbar--success .snackbar__action:hover{color:#047857;background-color:#dcfce7}.snackbar--success .snackbar__dismiss{color:#10b981}.snackbar--success .snackbar__dismiss:hover{color:#047857;background-color:#dcfce7}.snackbar--warning{background-color:#fffbeb;border-color:#fde68a}.snackbar--warning .snackbar__icon{color:#f59e0b}.snackbar--warning .snackbar__title,.snackbar--warning .snackbar__message{color:#b45309}.snackbar--warning .snackbar__action{color:#d97706}.snackbar--warning .snackbar__action:hover{color:#b45309;background-color:#fef3c7}.snackbar--warning .snackbar__dismiss{color:#f59e0b}.snackbar--warning .snackbar__dismiss:hover{color:#b45309;background-color:#fef3c7}.snackbar--error{background-color:#fef2f2;border-color:#fecaca}.snackbar--error .snackbar__icon{color:#ef4444}.snackbar--error .snackbar__title,.snackbar--error .snackbar__message{color:#b91c1c}.snackbar--error .snackbar__action{color:#dc2626}.snackbar--error .snackbar__action:hover{color:#b91c1c;background-color:#fee2e2}.snackbar--error .snackbar__dismiss{color:#ef4444}.snackbar--error .snackbar__dismiss:hover{color:#b91c1c;background-color:#fee2e2}.snackbar--info{background-color:#e6f0fb;border-color:#99c3ef}.snackbar--info .snackbar__icon{color:#0057b8}.snackbar--info .snackbar__title{color:#001125}.snackbar--info .snackbar__message{color:#00346d}.snackbar--info .snackbar__action{color:#004691}.snackbar--info .snackbar__action:hover{color:#00346d;background-color:#cce1f7}.snackbar--info .snackbar__dismiss{color:#0057b8}.snackbar--info .snackbar__dismiss:hover{color:#00346d;background-color:#cce1f7}.snackbar__icon{flex-shrink:0;margin-top:.125rem}.snackbar__icon svg{width:1.25rem;height:1.25rem}.snackbar__content{flex:1;min-width:0}.snackbar__title{margin-bottom:.25rem;font-size:.875rem;font-weight:600}.snackbar__message{font-size:.875rem;line-height:1.5}.snackbar__action{cursor:pointer;background:0 0;border:none;border-radius:.375rem;flex-shrink:0;padding:.375rem .75rem;font-size:.875rem;font-weight:600;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.snackbar__dismiss{cursor:pointer;background:0 0;border:none;border-radius:.375rem;flex-shrink:0;padding:.25rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}.snackbar__dismiss svg{width:1.125rem;height:1.125rem}.signature-pad{flex-direction:column;gap:1rem;display:flex}.signature-pad--disabled{opacity:.5;pointer-events:none}.signature-pad__canvas-wrapper{background-color:#fff;border:2px dashed #d1d5db;border-radius:.5rem;position:relative;overflow:hidden}.signature-pad__canvas{aspect-ratio:3;cursor:crosshair;touch-action:none;width:100%;height:auto;display:block}.signature-pad__placeholder{color:#9ca3af;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.875rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signature-pad__error{color:#ef4444;margin-top:-.5rem;font-size:.875rem}.signature-pad__controls{flex-direction:column;gap:.75rem;display:flex}@media (min-width:768px){.signature-pad__controls{flex-direction:row;align-items:flex-end;gap:1rem}}.signature-pad__name-input{flex:1}.signature-pad__actions{flex-shrink:0;gap:.5rem;display:flex}.signature-display{flex-direction:column;gap:.75rem;display:flex}.signature-display__image-wrapper{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;justify-content:center;align-items:center;min-height:100px;padding:.75rem;display:flex}.signature-display__image{object-fit:contain;max-width:100%;max-height:150px}.signature-display__image--loading{display:none}.signature-display__meta{flex-wrap:wrap;gap:1rem;display:flex}.signature-display__meta-item{color:#4b5563;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.signature-display__meta-item svg{color:#9ca3af;flex-shrink:0}.location-map{flex-direction:column;gap:.5rem;display:flex}.location-map__label{color:#4b5563;margin:0;font-size:.875rem;font-weight:500}.location-map__canvas{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;width:100%;overflow:hidden}.location-map__fallback{background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:.375rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.location-map__fallback-icon{color:#6b7280;flex-shrink:0;margin-top:2px}.location-map__fallback-content{flex-direction:column;gap:.25rem;min-width:0;display:flex}.location-map__fallback-status{color:#4b5563;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:inline-flex}.location-map__fallback-address{color:#374151;word-break:break-word;margin:0;font-size:.875rem}.location-map__actions{flex-wrap:wrap;gap:.5rem;display:flex}.location-map__action{color:#004691;background-color:transparent;border:1px solid #99c3ef;border-radius:.375rem;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.location-map__action:hover{background-color:#e6f0fb;border-color:#0057b8}.location-map__action--primary{color:#fff;background-color:#0057b8;border-color:#0057b8}.location-map__action--primary:hover{background-color:#004691;border-color:#004691}.route-map{flex-direction:column;gap:.75rem;display:flex}.route-map__legend{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;align-items:center;gap:.75rem;padding:.75rem;display:flex}.route-map__leg{flex:1;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.route-map__pin{color:#fff;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;font-weight:700;display:inline-flex}.route-map__pin--from{background-color:#0057b8}.route-map__pin--to{color:#111827;background-color:#f2a900}.route-map__leg-label{color:#374151;text-transform:uppercase;letter-spacing:.025em;margin:0;font-size:.75rem;font-weight:600}.route-map__leg-address{color:#4b5563;word-break:break-word;margin:0;font-size:.875rem}.route-map__arrow{color:#9ca3af;flex-shrink:0}.route-map__canvas{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;width:100%;overflow:hidden}.route-map__fallback{background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:.375rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.route-map__fallback-icon{color:#6b7280;flex-shrink:0;margin-top:2px}.route-map__fallback-content{flex-direction:column;gap:.25rem;min-width:0;display:flex}.route-map__fallback-status{color:#4b5563;align-items:center;gap:.375rem;font-size:.75rem;font-weight:500;display:inline-flex}.route-map__fallback-note{color:#374151;margin:0;font-size:.875rem}.route-map__actions{flex-wrap:wrap;gap:.5rem;display:flex}.route-map__action{color:#fff;background-color:#0057b8;border:1px solid #0057b8;border-radius:.375rem;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex}.route-map__action:hover{background-color:#004691;border-color:#004691}.multi-location-map{flex-direction:column;gap:.5rem;display:flex}.multi-location-map__canvas{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;width:100%;overflow:hidden}.multi-location-map__count{color:#6b7280;margin:0;font-size:.75rem}.multi-location-map__fallback{text-align:center;background-color:#f9fafb;border:1px dashed #d1d5db;border-radius:.375rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;display:flex}.multi-location-map__fallback-icon{color:#6b7280}.multi-location-map__fallback-message{color:#374151;margin:0;font-size:.875rem}.multi-location-map__fallback-count{color:#6b7280;margin:0;font-size:.75rem}.multi-location-map__info{flex-direction:column;gap:.5rem;min-width:220px;max-width:280px;display:flex}.multi-location-map__info-address{color:#374151;word-break:break-word;margin:0;font-size:.75rem}.multi-location-map__info-count{color:#004691;margin:0;font-size:.75rem;font-weight:600}.multi-location-map__info-list{flex-direction:column;gap:.5rem;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.multi-location-map__info-item{background-color:#f9fafb;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.multi-location-map__info-item-text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.multi-location-map__info-title{color:#111827;margin:0;font-size:.875rem;font-weight:600}.multi-location-map__info-subtitle{color:#4b5563;word-break:break-word;margin:0;font-size:.75rem}.multi-location-map__info-button{color:#fff;cursor:pointer;background-color:#0057b8;border:none;border-radius:.375rem;flex-shrink:0;padding:.375rem .625rem;font-size:.75rem;font-weight:500;transition:background-color .15s}.multi-location-map__info-button:hover{background-color:#004691}.offline-banner{background-color:#fef3c7;border-bottom:1px solid #f59e0b;max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.offline-banner--visible{max-height:3rem}.offline-banner__content{align-items:center;gap:.5rem;max-width:80rem;margin:0 auto;padding:.5rem 1rem;display:flex}.offline-banner__icon{color:#d97706;flex-shrink:0}.offline-banner__message{color:#b45309;font-size:.875rem;font-weight:500}.offline-banner__pending{font-weight:600}.reverification-banner{background-color:#fef3c7;border-bottom:1px solid #f59e0b;border-left:4px solid #d97706}.reverification-banner__content{align-items:flex-start;gap:.75rem;max-width:80rem;margin:0 auto;padding:.75rem 1rem;display:flex}.reverification-banner__icon{color:#d97706;flex-shrink:0;margin-top:2px}.reverification-banner__text{flex-direction:column;gap:.25rem;display:flex}.reverification-banner__title{color:#b45309;font-size:.875rem;font-weight:600}.reverification-banner__body{color:#b45309;font-size:.875rem;line-height:1.5}.notification-nudge{z-index:100;background:#fff;border:1px solid #cce1f7;border-left:3px solid #0057b8;border-radius:.375rem;align-items:center;gap:.75rem;width:calc(100% - 2rem);max-width:560px;padding:.75rem 1rem;animation:.25s ease-out notification-nudge-slide-up;display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px rgba(0,35,73,.16)}@media (max-width:767px){.notification-nudge{gap:.5rem;padding:.75rem}}.notification-nudge__icon{color:#0057b8;background:#e6f0fb;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-nudge__body{flex:1;min-width:0}.notification-nudge__title{color:#111827;margin:0;font-size:.875rem;font-weight:600}.notification-nudge__text{color:#4b5563;margin:2px 0 0;font-size:.75rem;line-height:1.4}.notification-nudge__actions{flex-shrink:0;gap:.5rem;display:flex}.notification-nudge__close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.notification-nudge__close:hover{color:#111827;background:#f3f4f6}@keyframes notification-nudge-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.comment-thread{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.comment-thread__header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.comment-thread__header h3{color:#111827;margin:0;font-size:1.125rem;font-weight:600}.comment-thread__count{color:#374151;background:#f3f4f6;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.comment-thread__empty{color:#6b7280;margin:0 0 1rem;font-size:.875rem}.comment-thread__list{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.comment-thread__show-earlier{color:#0057b8;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.25rem 0;font-size:.875rem;font-weight:500}.comment-thread__show-earlier:hover{text-decoration:underline}.comment-thread__composer{flex-direction:column;gap:.5rem;display:flex}.comment-thread__composer-actions{justify-content:flex-end;display:flex}.thread-comment{background:#f9fafb;border:1px solid #e5e7eb;border-left:3px solid #d1d5db;border-radius:0 6px 6px 0;width:100%;padding:.75rem 1rem;display:block}.thread-comment--atco{border-left-color:#f2a900}.thread-comment--portal{border-left-color:#0057b8}.thread-comment--me{background:#e6f0fb;border-color:#cce1f7 #cce1f7 #cce1f7 #004691}.thread-comment__header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.thread-comment__author-column{flex-direction:column;min-width:0;display:flex}.thread-comment__author{color:#111827;font-size:.875rem;font-weight:600;line-height:1.2}.thread-comment__org{color:#6b7280;margin-top:2px;font-size:.75rem;line-height:1.3}.thread-comment__time{color:#9ca3af;white-space:nowrap;padding-top:2px;font-size:.75rem}.thread-comment__body{color:#1f2937;white-space:pre-wrap;word-break:break-word;margin:0;font-size:.875rem;line-height:1.55;display:block}.install-prompt{z-index:50;opacity:0;width:calc(100% - 2rem);max-width:500px;transition:transform .3s,opacity .3s;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)translateY(100%)}.install-prompt--visible{opacity:1;transform:translate(-50%)translateY(0)}.install-prompt__card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.install-prompt__content{align-items:flex-start;gap:1rem;padding:1rem;display:flex}.install-prompt__icon-wrapper{background-color:#0057b8;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.install-prompt__body{flex:1;min-width:0}.install-prompt__title{color:#111827;margin:0 0 .25rem;font-size:1rem;font-weight:600}.install-prompt__description{color:#6b7280;margin:0 0 .75rem;font-size:.875rem;line-height:1.5}.install-prompt__actions{flex-wrap:wrap;gap:.5rem;display:flex}.install-prompt__close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:background-color .15s,color .15s;display:flex}.install-prompt__close:hover{color:#4b5563;background-color:#f3f4f6}.sw-update-prompt{top:calc(1rem + env(safe-area-inset-top,0px));transform:translateX(-50%)translateY(calc(-120% - env(safe-area-inset-top,0px)));z-index:50;opacity:0;width:calc(100% - 2rem);max-width:460px;transition:transform .3s,opacity .3s;position:fixed;left:50%}@media (max-width:767px){.sw-update-prompt{width:calc(100% - 1.5rem)}}.sw-update-prompt--visible{opacity:1;transform:translate(-50%)translateY(0)}.sw-update-prompt__card{background-color:#fff;border:1px solid #cce1f7;border-radius:.75rem;position:relative;overflow:hidden;box-shadow:0 4px 14px rgba(0,87,184,.15),0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.sw-update-prompt__card:before{content:"";background:linear-gradient(90deg,#0057b8 0%,#f2a900 100%);height:3px;position:absolute;top:0;left:0;right:0}.sw-update-prompt__content{align-items:flex-start;gap:1rem;padding:1.25rem 1rem 1rem;display:flex}.sw-update-prompt__icon-wrapper{background:linear-gradient(135deg,#0057b8 0%,#00346d 100%);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex;box-shadow:0 4px 14px rgba(0,87,184,.15)}.sw-update-prompt__icon-wrapper svg{animation:2.4s ease-in-out infinite sw-update-prompt-sparkle}.sw-update-prompt__body{flex:1;min-width:0}.sw-update-prompt__title{color:#111827;letter-spacing:-.025em;margin:0 0 .25rem;font-size:1rem;font-weight:600}.sw-update-prompt__description{color:#4b5563;margin:0 0 .75rem;font-size:.875rem;line-height:1.5}.sw-update-prompt__actions{flex-wrap:wrap;gap:.5rem;display:flex}.sw-update-prompt__close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem;transition:background-color .15s,color .15s;display:flex}.sw-update-prompt__close:hover:not(:disabled){color:#4b5563;background-color:#f3f4f6}.sw-update-prompt__close:disabled{opacity:.5;cursor:not-allowed}.sw-update-prompt__spin{animation:.8s linear infinite sw-update-prompt-spin}@keyframes sw-update-prompt-sparkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.92;transform:scale(1.08)rotate(8deg)}}@keyframes sw-update-prompt-spin{to{transform:rotate(360deg)}}