@charset "UTF-8";html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #003917);--mat-sys-on-tertiary-container: light-dark(#005225, #63ff94);--mat-sys-on-tertiary-fixed: light-dark(#00210b, #00210b);--mat-sys-on-tertiary-fixed-variant: light-dark(#005225, #005225);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#006d33, #00e472);--mat-sys-tertiary-container: light-dark(#63ff94, #005225);--mat-sys-tertiary-fixed: light-dark(#63ff94, #63ff94);--mat-sys-tertiary-fixed-dim: light-dark(#00e472, #00e472);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-body-large-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-body-medium-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-body-small-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-display-large-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-display-medium-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-display-small-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-headline-large-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-headline-medium-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-headline-small-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-label-large-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-label-medium-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-label-small-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-title-large-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-title-medium-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-title-small-font: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--app-topbar-h: calc(52px + env(safe-area-inset-top)) ;--app-bottomnav-h: calc(60px + env(safe-area-inset-bottom)) ;--page-gutter: 16px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--surface: #f6f8f8;--surface-subtle: #eef4f3;--surface-raised: #fff;--border: #dde7e5;--text-primary: #172b2b;--text-secondary: #5f7272;--brand: #087b78;--brand-strong: #005d5b;--brand-soft: #ddf3f0;--danger: #ba1a1a;--warning: #8a5c00;--success: #176b48}@media(max-width:359px){:root{--page-gutter: 12px}}*,*:before,*:after{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--surface)}body{min-height:100dvh;overflow-x:hidden;background:var(--surface);color:var(--text-primary);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}app-root{display:block;width:100%;min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea{font-size:16px}img{max-width:100%}.mat-icon{font-family:Material Symbols Outlined;font-weight:400;font-style:normal}.m-search{position:relative;margin-bottom:var(--space-3);width:100%;min-width:0}.m-search input{width:100%;height:44px;padding:0 40px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font-size:16px;outline:none}.m-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.m-search>.mat-icon{position:absolute;left:11px;top:11px;width:22px;height:22px;font-size:22px;color:var(--text-secondary);pointer-events:none}.m-search button{position:absolute;right:4px;top:4px;width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-secondary);cursor:pointer}.m-chips{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;margin:0 calc(-1 * var(--page-gutter)) var(--space-3);padding:0 var(--page-gutter) 2px;scroll-padding-inline:var(--page-gutter);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.m-chips::-webkit-scrollbar{display:none}.m-chip{flex:0 0 auto;height:36px;padding:0 14px;border:1px solid var(--border);border-radius:17px;background:var(--surface-raised);color:var(--text-secondary);font-size:13px;font-weight:500;white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.m-chip:active{transform:scale(.97)}.m-chip.is-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);font-weight:700}.m-segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-subtle);width:100%;min-width:0}.m-segmented button{height:38px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;cursor:pointer}.m-segmented button.is-active{background:var(--surface-raised);color:var(--brand-strong);box-shadow:0 1px 3px #172b2b1f}.m-segmented .count{margin-left:4px;color:var(--text-secondary);font-weight:500}.m-list{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px}.m-card{display:block;width:100%;min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);text-align:left;text-decoration:none;box-sizing:border-box;overflow:hidden;position:relative;box-shadow:0 1px 2px #172b2b0a;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}button.m-card,a.m-card{cursor:pointer}button.m-card:active,a.m-card:active{background:var(--surface-subtle);border-color:var(--brand)}.m-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0}.m-card__title{flex:1 1 auto;min-width:0;font-size:15px;font-weight:700;letter-spacing:-.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.m-card__meta{display:flex;align-items:center;gap:6px;margin-top:5px;color:var(--text-secondary);font-size:13px;line-height:18px;width:100%;min-width:0}.m-card__meta .mat-icon{flex:0 0 16px;width:16px;height:16px;font-size:16px;color:var(--text-secondary)}.m-card__meta>span:not(.m-badge):not(.m-card__meta-item){flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-card__meta:has(>span.wrap){align-items:flex-start}.m-card__meta>span.wrap:not(.m-badge):not(.m-card__meta-item){white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.m-card__meta-item{display:inline-flex;align-items:center;gap:5px;min-width:0;flex-shrink:0}.m-card__meta-item .mat-icon{flex:0 0 16px;width:16px;height:16px;font-size:16px}.m-card__meta-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-card__meta-item--fill{flex:1 1 0;min-width:0}.m-status{display:inline-flex;align-items:center;gap:6px;max-width:55%;flex-shrink:0;min-width:0;height:24px;padding:0 9px;border-radius:12px;background:var(--surface-subtle);color:var(--text-primary);font-size:12px;font-weight:600;white-space:nowrap}.m-status i{flex:0 0 8px;width:8px;height:8px;border-radius:50%}.m-status span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;display:inline-grid;place-items:center;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:700}.m-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;width:100%;min-width:0}.m-action{flex:1 1 0;min-width:fit-content;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--brand-strong);font-size:14px;font-weight:600;text-decoration:none}.m-action .mat-icon{width:18px;height:18px;font-size:18px}.m-action--primary{border-color:var(--brand);background:var(--brand);color:#fff}.m-action:disabled{opacity:.5}.m-more{width:100%;height:44px;margin-top:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--brand-strong);font-weight:600;cursor:pointer}.m-center{display:grid;place-items:center;padding:40px 0;width:100%}.m-field{display:grid;gap:6px;margin-bottom:var(--space-3);font-size:13px;font-weight:600;color:var(--text-secondary);width:100%;min-width:0}.m-field input,.m-field select,.m-field textarea{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);font-size:16px;font-weight:400;outline:none}.m-field input:focus,.m-field select:focus{border-color:var(--brand)}.m-field input,.m-field select{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none}.m-field select{background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}.m-sheet{padding:8px var(--page-gutter) calc(20px + env(safe-area-inset-bottom));max-height:88dvh;overflow-y:auto;overscroll-behavior:contain}.m-sheet__handle{width:36px;height:4px;margin:0 auto 14px;border-radius:2px;background:var(--border)}.m-sheet h2{margin:0;font-size:18px;font-weight:700}.m-sheet__sub{margin:4px 0 12px;color:var(--text-secondary);font-size:13px}.m-sheet__option{width:100%;min-height:52px;display:flex;align-items:center;gap:12px;padding:8px 0;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text-primary);text-align:left;font-size:16px}.m-sheet__option .mat-icon{flex:0 0 auto;color:var(--brand)}.m-sheet__option small{display:block;color:var(--text-secondary);font-size:12px}.m-sheet__option.is-selected{color:var(--brand-strong);font-weight:700}.m-sheet__option:disabled{opacity:.45}.m-sheet__error{margin-bottom:8px;color:var(--danger);font-size:13px}.mat-bottom-sheet-container,.mat-bottom-sheet-container-medium,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-xlarge{min-width:100vw!important;max-width:100vw!important;max-height:92dvh!important;padding:0!important;border-radius:18px 18px 0 0!important}.cdk-overlay-pane:has(.mat-bottom-sheet-container){max-width:100vw!important;width:100vw}.mat-mdc-snack-bar-container{margin:8px max(8px,env(safe-area-inset-right)) calc(var(--app-bottomnav-h) + 8px) max(8px,env(safe-area-inset-left))!important}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:0!important;width:calc(100vw - 16px);max-width:none!important}
