:root{--dg-color-canvas: #fafaf8;--dg-color-surface: #ffffff;--dg-color-sidebar: #f1f1ed;--dg-color-surface-hover: #f5f5f0;--dg-color-text: #252724;--dg-color-text-secondary: #676b64;--dg-color-text-on-accent: #ffffff;--dg-color-border: #dddfd7;--dg-color-control-border: #858b80;--dg-color-accent: #ad482f;--dg-color-accent-hover: #913b26;--dg-color-accent-pressed: #77301f;--dg-color-accent-soft: #f7ece6;--dg-color-focus: #ad482f;--dg-color-progress-track: #e9e5e1;--dg-color-progress-fill: var(--dg-color-accent);--dg-color-metric: var(--dg-color-text);--dg-color-danger: #b42318;--dg-color-danger-soft: #fdf0ed;--dg-color-warning: #815d24;--dg-color-warning-soft: #faf3e5;--dg-color-confirmation: var(--dg-color-text);--dg-color-confirmation-soft: var(--dg-color-sidebar);--dg-color-disabled-text: #777b73;--dg-color-disabled-surface: #e9ebe4;--dg-font-ui: "IBM Plex Sans", "Segoe UI", sans-serif;--dg-font-product-code: "IBM Plex Mono", Consolas, monospace;--dg-type-page: 2.125rem;--dg-type-page-mobile: 1.75rem;--dg-type-section: 1.375rem;--dg-type-subsection: 1.125rem;--dg-type-body: 1rem;--dg-type-control: .875rem;--dg-type-caption: .8125rem;--dg-weight-regular: 400;--dg-weight-medium: 500;--dg-weight-semibold: 600;--dg-line-body: 1.5;--dg-line-heading: 1.2;--dg-tracking-heading: -.02em;--dg-space-1: .25rem;--dg-space-2: .5rem;--dg-space-3: .75rem;--dg-space-4: 1rem;--dg-space-5: 1.25rem;--dg-space-6: 1.5rem;--dg-space-8: 2rem;--dg-space-10: 2.5rem;--dg-space-12: 3rem;--dg-space-16: 4rem;--dg-radius-control: .375rem;--dg-radius-panel: .5rem;--dg-control-height: 2.75rem;--dg-progress-height: .375rem;--dg-sidebar-width: 14.5rem;--dg-content-max-width: 76rem;--dg-page-gutter: clamp(1.25rem, 3.125vw, 3rem);--dg-focus-width: 2px;--dg-focus-offset: 3px;--dg-duration-fast: .14s;--dg-duration-standard: .2s;--dg-motion-ease: cubic-bezier(.2, 0, 0, 1);--dg-shadow-panel: none}.dg-feature-page{background:var(--dg-color-canvas);color:var(--dg-color-text);display:grid;gap:var(--dg-space-8);grid-template-columns:minmax(0,1fr);line-height:var(--dg-line-body);margin:0 auto;max-width:calc(var(--dg-content-max-width) + 2 * var(--dg-page-gutter));padding:var(--dg-space-12) var(--dg-page-gutter)}.dg-feature-page h1,.dg-feature-page h2,.dg-feature-page h3,.dg-feature-page h4{color:var(--dg-color-text);font-variation-settings:normal;font-weight:var(--dg-weight-semibold);letter-spacing:var(--dg-tracking-heading);line-height:var(--dg-line-heading);margin:0}.dg-feature-page h1{font-size:var(--dg-type-page)}.dg-feature-page h2{font-size:var(--dg-type-section)}.dg-feature-page h3{font-size:var(--dg-type-subsection)}.dg-feature-page h4{font-size:var(--dg-type-control)}.dg-feature-page p{margin:var(--dg-space-2) 0 0}.dg-feature-page .feature-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--dg-space-5);justify-content:space-between}.dg-feature-page .feature-header p{color:var(--dg-color-text-secondary);max-width:70ch}.dg-feature-page .back-link{align-items:center;color:var(--dg-color-accent);display:inline-flex;font-size:var(--dg-type-control);gap:var(--dg-space-2);min-height:var(--dg-control-height);margin-bottom:var(--dg-space-3);text-underline-offset:3px}.dg-feature-page .back-link app-ui-icon{width:18px;height:18px;transform:rotate(180deg)}.dg-feature-page .practice-actions,.dg-feature-page .empty-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--dg-space-3)}.dg-feature-page .feature-empty,.dg-feature-page .catalog-empty{border-top:1px solid var(--dg-color-border);padding:var(--dg-space-12) 0}.dg-feature-page .feature-empty>app-ui-icon{width:32px;height:32px;margin-bottom:var(--dg-space-5)}.dg-feature-page .feature-empty p,.dg-feature-page .catalog-empty p{color:var(--dg-color-text-secondary);max-width:60ch}.dg-feature-page .empty-actions{margin-top:var(--dg-space-6)}.dg-feature-page .form-error{background:var(--dg-color-danger-soft);border-color:var(--dg-color-danger);border-radius:var(--dg-radius-control);color:var(--dg-color-danger)!important;padding:var(--dg-space-4)}.dg-feature-page .session-loading,.dg-feature-page .history-loading,.dg-feature-page .result-loading{display:grid;min-height:192px;place-items:center}.dg-feature-page .session-error,.dg-feature-page .history-error,.dg-feature-page .result-error{display:flex;align-items:center;flex-wrap:wrap;gap:var(--dg-space-4)}.dg-feature-page .session-error .form-error,.dg-feature-page .history-error .form-error,.dg-feature-page .result-error .form-error{flex-basis:100%}.dg-feature-page .mat-mdc-card{background:var(--dg-color-surface);border:1px solid var(--dg-color-border);border-radius:var(--dg-radius-panel)!important;box-shadow:none}.dg-feature-page .mat-mdc-card:hover{border-color:var(--dg-color-border)}@media(max-width:700px){.dg-feature-page{padding-block:var(--dg-space-8);gap:var(--dg-space-6)}.dg-feature-page h1{font-size:var(--dg-type-page-mobile)}.dg-feature-page .feature-header{align-items:start}}@media(max-width:400px){.dg-feature-page .practice-actions,.dg-feature-page .empty-actions{align-items:stretch;flex-direction:column}}.dg-product-ui,.dg-product-panel{--mat-sys-primary: var(--dg-color-accent);--mat-sys-on-primary: var(--dg-color-text-on-accent);--mat-sys-secondary-container: var(--dg-color-accent-soft);--mat-sys-on-secondary-container: var(--dg-color-accent);--mat-sys-on-surface: var(--dg-color-text);--mat-sys-on-surface-variant: var(--dg-color-text-secondary);--mat-sys-error: var(--dg-color-danger);--mat-sys-outline: var(--dg-color-control-border)}.dg-product-ui .dg-compact-tabs .mat-mdc-tab{min-width:0;padding-inline:var(--dg-space-3)}.dg-product-ui .mat-mdc-card{--mat-card-elevated-container-color: var(--dg-color-surface);--mat-card-outlined-container-color: var(--dg-color-surface);border:1px solid var(--dg-color-border);border-radius:var(--dg-radius-panel)!important;box-shadow:none!important}.dg-product-ui .mat-mdc-card-title{font-family:var(--dg-font-ui);font-size:var(--dg-type-section);font-weight:var(--dg-weight-semibold);letter-spacing:var(--dg-tracking-heading);line-height:var(--dg-line-heading)}.dg-product-ui h3.mat-mdc-card-title{font-size:var(--dg-type-subsection)}.dg-product-ui .mat-mdc-card-subtitle{color:var(--dg-color-text-secondary);font-size:var(--dg-type-control);font-weight:var(--dg-weight-regular);line-height:var(--dg-line-body)}.dg-product-ui .mat-mdc-button{--mat-button-text-label-text-color: var(--dg-color-accent);--mat-button-text-state-layer-color: var(--dg-color-accent);border-radius:var(--dg-radius-control)!important;font-size:var(--dg-type-control)!important;font-weight:var(--dg-weight-medium)!important;letter-spacing:normal!important;min-height:var(--dg-control-height)}.dg-product-ui .mat-mdc-form-field{--mat-form-field-outlined-container-shape: var(--dg-radius-control);--mat-form-field-outlined-outline-color: var(--dg-color-control-border);--mat-form-field-outlined-hover-outline-color: var(--dg-color-text);--mat-form-field-outlined-focus-outline-color: var(--dg-color-accent);--mat-form-field-outlined-label-text-color: var(--dg-color-text-secondary);--mat-form-field-outlined-focus-label-text-color: var(--dg-color-accent);--mat-form-field-outlined-input-text-color: var(--dg-color-text);--mat-form-field-outlined-caret-color: var(--dg-color-accent);--mat-form-field-container-text-size: var(--dg-type-body);--mat-form-field-container-text-tracking: normal;--mat-form-field-subscript-text-size: var(--dg-type-caption);--mat-form-field-subscript-text-tracking: normal;--mat-select-enabled-trigger-text-color: var(--dg-color-text);--mat-select-enabled-arrow-color: var(--dg-color-text-secondary);--mat-select-focused-arrow-color: var(--dg-color-accent)}.dg-product-ui .mat-mdc-text-field-wrapper{background:var(--dg-color-surface);border-radius:var(--dg-radius-control)}.dg-product-ui .mat-mdc-form-field-subscript-wrapper{font-size:var(--dg-type-caption)}.dg-product-ui .mat-mdc-progress-bar{--mat-progress-bar-active-indicator-color: var(--dg-color-progress-fill);--mat-progress-bar-track-color: var(--dg-color-progress-track);--mat-progress-bar-active-indicator-height: var(--dg-progress-height);--mat-progress-bar-track-height: var(--dg-progress-height)}.dg-product-ui .mat-mdc-progress-spinner{--mat-progress-spinner-active-indicator-color: var(--dg-color-accent)}.dg-product-ui .mat-mdc-radio-button{--mat-radio-selected-icon-color: var(--dg-color-accent);--mat-radio-selected-focus-icon-color: var(--dg-color-accent);--mat-radio-selected-hover-icon-color: var(--dg-color-accent-hover);--mat-radio-selected-pressed-icon-color: var(--dg-color-accent-pressed);--mat-radio-checked-ripple-color: var(--dg-color-accent);--mat-radio-unselected-icon-color: var(--dg-color-control-border);--mat-radio-label-text-tracking: normal}.dg-product-ui .mat-mdc-radio-button .mdc-form-field,.dg-product-ui .mat-mdc-radio-button .mdc-label{min-width:0}.dg-product-ui .mat-mdc-radio-button .mdc-label{white-space:pre-wrap;overflow-wrap:anywhere}.dg-product-ui .mat-mdc-chip{--mat-chip-label-text-color: var(--dg-color-text-secondary);--mat-chip-outline-color: var(--dg-color-border);--mat-chip-elevated-container-color: var(--dg-color-sidebar);--mat-chip-label-text-size: var(--dg-type-caption);--mat-chip-label-text-weight: var(--dg-weight-medium)}.dg-product-panel{--mat-select-panel-background-color: var(--dg-color-surface);--mat-option-label-text-color: var(--dg-color-text);--mat-option-selected-state-label-text-color: var(--dg-color-accent);--mat-option-selected-state-layer-color: var(--dg-color-accent-soft);--mat-option-hover-state-layer-color: var(--dg-color-surface-hover);--mat-option-focus-state-layer-color: var(--dg-color-surface-hover);--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--dg-color-accent);--mat-option-label-text-font: var(--dg-font-ui);--mat-option-label-text-size: var(--dg-type-body);--mat-option-label-text-tracking: normal}.form-stack{display:grid;gap:var(--dg-space-4);margin-top:var(--dg-space-8)}.form-grid{display:grid;gap:var(--dg-space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.form-stack mat-form-field,.form-grid mat-form-field{width:100%;min-width:0}.form-page{display:grid;align-content:start;justify-items:center;min-height:calc(100vh - 80px);padding:var(--dg-space-12) var(--dg-page-gutter);background:var(--dg-color-canvas)}.form-card{width:100%;max-width:32rem;padding:var(--dg-space-6)}.form-card-wide{max-width:48rem}.form-card .mat-mdc-card-header{display:block;padding:0}.form-card .mat-mdc-card-content{padding:0}.form-card h1.mat-mdc-card-title{font-size:var(--dg-type-page);font-weight:var(--dg-weight-semibold);line-height:var(--dg-line-heading);margin:0 0 var(--dg-space-3)}.form-card .mat-mdc-card-subtitle{line-height:var(--dg-line-body)}.profile-page{justify-items:start;max-width:calc(var(--dg-content-max-width) + 2 * var(--dg-page-gutter));margin:auto}.profile-page .form-card{background:transparent;padding:0;border:0}.profile-page .form-stack{border-top:1px solid var(--dg-color-border);padding-top:var(--dg-space-8)}.profile-page button[type=submit]{justify-self:start}@media(max-width:700px){.form-card h1.mat-mdc-card-title{font-size:var(--dg-type-page-mobile)}.form-page{padding-block:var(--dg-space-8)}.form-card{padding:var(--dg-space-5)}.form-grid{grid-template-columns:1fr}}.admin-page{background:var(--dg-color-canvas);min-height:100vh;max-width:calc(var(--dg-content-max-width) + 2 * var(--dg-page-gutter));margin:auto;padding:var(--dg-space-12) var(--dg-page-gutter)}.admin-page .page-head{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.6rem}.admin-page .page-head h1{font-size:var(--dg-type-page);margin:0 0 var(--dg-space-3)}.admin-page .page-head p{color:var(--dg-color-text-secondary);margin:0}.admin-page .range-pill,.admin-page .status-pill{background:var(--dg-color-accent-soft);border-radius:999px;color:var(--dg-color-accent);font-size:var(--dg-type-caption);font-weight:var(--dg-weight-semibold);padding:.38rem .7rem;white-space:nowrap}.admin-page .status-pill.free{background:var(--dg-color-sidebar);color:var(--dg-color-text-secondary)}.admin-page .state-card{background:var(--dg-color-surface);border:1px solid var(--dg-color-border);border-radius:var(--dg-radius-panel);color:var(--dg-color-text-secondary);padding:2.5rem;text-align:center}.admin-page .state-card.error{color:var(--dg-color-danger)}.admin-page .retry{background:var(--dg-color-accent);border:0;border-radius:var(--dg-radius-panel);color:var(--dg-color-text-on-accent);cursor:pointer;font-weight:var(--dg-weight-semibold);margin-left:.8rem;padding:.65rem 1rem}.admin-page .metrics{display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));margin-block:var(--dg-space-8);border-block:1px solid var(--dg-color-border);padding-block:var(--dg-space-6)}.admin-page .panel{background:var(--dg-color-surface);border:1px solid var(--dg-color-border);border-radius:var(--dg-radius-panel)}.admin-page .metric-card{padding:0 var(--dg-space-6);border-left:1px solid var(--dg-color-border)}.admin-page .metric-card:first-child{padding-left:0;border-left:0}.admin-page .metric-label{color:var(--dg-color-text-secondary);display:block;font-size:var(--dg-type-caption);font-weight:var(--dg-weight-semibold);margin-bottom:.45rem}.admin-page .metric-value{color:var(--dg-color-text);font-size:clamp(1.55rem,3vw,2.15rem);font-weight:var(--dg-weight-semibold);letter-spacing:var(--dg-tracking-heading);line-height:1}.admin-page .metric-note{color:var(--dg-color-text-secondary);display:block;font-size:var(--dg-type-caption);margin-top:.45rem}.admin-page .dashboard-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1.55fr) minmax(17rem,.8fr)}.admin-page .panel{min-width:0;padding:1.25rem}.admin-page .panel-head{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.15rem}.admin-page .panel-head h2{font-size:var(--dg-type-section);margin:0}.admin-page .panel-head small{color:var(--dg-color-text-secondary)}.admin-page .activity-chart{align-items:end;display:flex;gap:clamp(.3rem,1vw,.7rem);height:13rem;padding-top:1rem}.admin-page .chart-column{align-items:center;display:flex;flex:1;flex-direction:column;height:100%;justify-content:end;min-width:0}.admin-page .chart-bar{background:var(--dg-color-accent);border-radius:var(--dg-radius-control) var(--dg-radius-control) 0 0;min-height:.3rem;width:min(1.7rem,72%)}.admin-page .chart-column small{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption);margin-top:.45rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.admin-page .legend{display:flex;flex-wrap:wrap;gap:.8rem}.admin-page .legend span{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption)}.admin-page .legend i{background:var(--dg-color-accent);border-radius:50%;display:inline-block;height:.45rem;margin-right:.3rem;width:.45rem}.admin-page .distribution{display:grid;gap:1rem}.admin-page .distribution-row{display:grid;gap:.35rem;grid-template-columns:1fr auto}.admin-page .distribution-row strong{font-size:var(--dg-type-caption)}.admin-page .distribution-row span{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption)}.admin-page .track{background:var(--dg-color-progress-track);border-radius:999px;grid-column:1/-1;height:.48rem;overflow:hidden}.admin-page .track i{background:var(--dg-color-accent);border-radius:inherit;display:block;height:100%}.admin-page .activity-list{display:grid;gap:.15rem}.admin-page .activity-item{align-items:center;border-bottom:1px solid var(--dg-color-border);display:grid;gap:.8rem;grid-template-columns:auto 1fr auto;padding:.8rem 0}.admin-page .activity-dot{background:var(--dg-color-accent-soft);border-radius:50%;color:var(--dg-color-accent);display:grid;font-size:var(--dg-type-caption);font-weight:var(--dg-weight-semibold);height:2rem;place-items:center;width:2rem}.admin-page .activity-copy{min-width:0}.admin-page .activity-copy strong,.admin-page .activity-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-page .activity-copy strong{color:var(--dg-color-text);font-size:var(--dg-type-caption)}.admin-page .activity-copy span,.admin-page .activity-item time{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption)}.admin-page .toolbar{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.admin-page .search{background:var(--dg-color-surface);border:1px solid var(--dg-color-control-border);border-radius:var(--dg-radius-control);color:var(--dg-color-text);min-height:var(--dg-control-height);padding:0 var(--dg-space-4);width:min(24rem,100%);font-size:var(--dg-type-body)}.admin-page .table-wrap{overflow:auto}.admin-page .data-table{border-collapse:collapse;min-width:40rem;font-variant-numeric:tabular-nums;width:100%}.admin-page .data-table th{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption);font-weight:var(--dg-weight-medium);padding:var(--dg-space-4);text-align:left;background:var(--dg-color-sidebar)}.admin-page .data-table td{border-top:1px solid var(--dg-color-border);color:var(--dg-color-text);font-size:var(--dg-type-control);padding:var(--dg-space-4)}.admin-page .data-table tbody tr[tabindex]{cursor:pointer}.admin-page .data-table tbody tr:hover,.admin-page .data-table tbody tr.selected{background:var(--dg-color-surface-hover)}.admin-page .person{align-items:center;display:flex;min-width:0;gap:.65rem}.admin-page .person-avatar{background:var(--dg-color-sidebar);border-radius:50%;color:var(--dg-color-accent);display:grid;flex:0 0 auto;font-size:var(--dg-type-caption);font-weight:var(--dg-weight-semibold);height:2rem;place-items:center;width:2rem}.admin-page .person strong,.admin-page .person small{display:block}.admin-page .person small{color:var(--dg-color-text-secondary)}.admin-page .split-view{display:grid;gap:1rem;grid-template-columns:minmax(0,1.8fr) minmax(18rem,.75fr)}.admin-page .profile-card{position:sticky;top:1rem}.admin-page .profile-hero{align-items:center;display:flex;gap:.8rem;margin-bottom:1.2rem}.admin-page .profile-hero>div,.admin-page .person>div{min-width:0;overflow-wrap:anywhere}.admin-page .profile-hero .person-avatar{font-size:.9rem;height:2.8rem;width:2.8rem}.admin-page .profile-hero h2{font-size:1rem;margin:0}.admin-page .profile-hero p{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption);margin:.15rem 0 0}.admin-page .detail-grid{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}.admin-page .detail{background:var(--dg-color-canvas);border-radius:var(--dg-radius-panel);padding:.75rem}.admin-page .detail span,.admin-page .detail strong{display:block}.admin-page .detail span{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption)}.admin-page .detail strong{color:var(--dg-color-text);font-size:var(--dg-type-caption);margin-top:.18rem}.admin-page .chart-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.admin-page .empty{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption);padding:2rem 0;text-align:center}.admin-page .admin-actions{align-items:center;display:flex;gap:.4rem}.admin-page .admin-success,.admin-page .admin-error{border-left:.22rem solid;border-radius:var(--dg-radius-panel);margin:0 0 1rem;padding:.75rem .9rem}.admin-page .admin-success{background:var(--dg-color-confirmation-soft);border-color:var(--dg-color-confirmation);color:var(--dg-color-confirmation)}.admin-page .admin-error{background:var(--dg-color-danger-soft);border-color:var(--dg-color-danger);color:var(--dg-color-danger)}.admin-page .admin-access-action{border-top:1px solid var(--dg-color-border);display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem}.admin-page .admin-access-action small{color:var(--dg-color-text-secondary)}.admin-page .payment-entry-panel{border-left:.24rem solid var(--dg-color-accent);margin-bottom:1rem}.admin-page .workflow-status{background:var(--dg-color-confirmation-soft);border-radius:999px;color:var(--dg-color-confirmation);font-size:var(--dg-type-caption);font-weight:var(--dg-weight-semibold);padding:.35rem .65rem;white-space:nowrap}.admin-page .payment-entry-layout{display:grid;gap:1.25rem;grid-template-columns:minmax(16rem,.8fr) minmax(24rem,1.2fr)}.admin-page .user-lookup{min-width:0;position:relative}.admin-page .admin-field{display:grid;gap:.35rem}.admin-page .admin-field>span{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption);font-weight:var(--dg-weight-semibold)}.admin-page .admin-field input{background:var(--dg-color-surface);border:1px solid var(--dg-color-control-border);border-radius:var(--dg-radius-control);color:var(--dg-color-text);font:inherit;font-size:var(--dg-type-body);min-height:var(--dg-control-height);padding:.55rem .75rem;width:100%}.admin-page .admin-field input:focus{border-color:var(--dg-color-accent);outline:2px solid var(--dg-color-focus);outline-offset:2px}.admin-page .user-search-results{background:var(--dg-color-surface);border:1px solid var(--dg-color-border);border-radius:var(--dg-radius-panel);box-shadow:var(--dg-shadow-panel);display:grid;left:0;margin-top:.35rem;overflow:hidden;position:absolute;right:0;z-index:3}.admin-page .user-search-results button{align-items:center;background:var(--dg-color-surface);border:0;border-bottom:1px solid var(--dg-color-border);color:var(--dg-color-text);cursor:pointer;display:flex;gap:.65rem;padding:.7rem;text-align:left}.admin-page .user-search-results button:hover,.admin-page .user-search-results button:focus-visible{background:var(--dg-color-surface-hover)}.admin-page .user-search-results button:last-child{border-bottom:0}.admin-page .user-search-results strong,.admin-page .user-search-results small{display:block}.admin-page .user-search-results strong{color:var(--dg-color-text);font-size:var(--dg-type-caption)}.admin-page .user-search-results small{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption)}.admin-page .lookup-empty{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption);margin:.55rem 0 0}.admin-page .selected-payment-user{align-items:center;background:var(--dg-color-surface-hover);border:1px solid var(--dg-color-accent-soft);border-radius:var(--dg-radius-panel);display:flex;justify-content:space-between;margin-top:.75rem;padding:.7rem}.admin-page .selected-payment-user>div:last-child{align-items:center;display:flex;gap:.3rem}.admin-page .payment-record-form{align-items:end;display:grid;gap:.8rem;grid-template-columns:minmax(11rem,1fr) minmax(9rem,.55fr)}.admin-page .payment-record-form>button{grid-column:1/-1;justify-self:end}.admin-page .renewal-preview{background:var(--dg-color-surface-hover);border-radius:var(--dg-radius-panel);display:grid;gap:.12rem;grid-column:1/-1;padding:.75rem .85rem}.admin-page .renewal-preview span,.admin-page .renewal-preview small{color:var(--dg-color-text-secondary);font-size:var(--dg-type-caption)}.admin-page .renewal-preview strong{color:var(--dg-color-text);font-size:.84rem}.admin-page .renewal-preview.muted strong{color:var(--dg-color-text-secondary)}.admin-page .field-error{color:var(--dg-color-danger);font-size:var(--dg-type-caption)}.admin-page .recorded-payment-summary{align-items:center;background:var(--dg-color-confirmation-soft);border-radius:var(--dg-radius-panel);color:var(--dg-color-confirmation);display:flex;font-size:var(--dg-type-caption);gap:.5rem;justify-content:space-between;margin-top:1rem;padding:.7rem .85rem}.admin-page .tier-actions{display:flex;gap:.5rem}@media(max-width:1100px){.admin-page .metrics{grid-template-columns:repeat(2,1fr)}.admin-page .dashboard-grid,.admin-page .split-view,.admin-page .payment-entry-layout{grid-template-columns:1fr}.admin-page .profile-card{position:static}.admin-page .chart-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.admin-page{min-height:calc(100vh - 9.75rem)}.admin-page .page-head h1{font-size:var(--dg-type-page-mobile)}.admin-page{padding:var(--dg-space-8) var(--dg-page-gutter)}.admin-page .page-head{align-items:start;flex-direction:column}.admin-page .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dg-space-6) 0}.admin-page .metric-card:nth-child(odd){border-left:0;padding-left:0}.admin-page .chart-grid,.admin-page .payment-record-form{grid-template-columns:1fr}.admin-page .panel{padding:1rem}.admin-page .activity-chart{height:10rem}.admin-page .detail-grid{grid-template-columns:1fr 1fr}.admin-page .recorded-payment-summary{align-items:start;flex-direction:column}}.payment-guide{border-top:1px solid var(--dg-color-border);display:grid;gap:var(--dg-space-12);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);padding-top:var(--dg-space-8)}.payment-guide-intro h2{font-size:var(--dg-type-section);margin:0;max-width:24ch}.payment-guide-intro>p{color:var(--dg-color-text-secondary);margin:var(--dg-space-4) 0 0}.payment-renewal{border-left:3px solid var(--dg-color-accent);border-radius:var(--dg-radius-control);background:var(--dg-color-accent-soft);margin-top:var(--dg-space-8);padding:var(--dg-space-5)}.payment-renewal strong{font-weight:var(--dg-weight-semibold)}.payment-renewal p{color:var(--dg-color-text-secondary);font-size:var(--dg-type-control);margin:var(--dg-space-2) 0 0}.payment-steps{list-style:none;margin:0;padding:0}.payment-steps li{align-items:start;border-bottom:1px solid var(--dg-color-border);display:grid;gap:var(--dg-space-4);grid-template-columns:2rem minmax(0,1fr);padding:var(--dg-space-5) 0}.payment-steps li:first-child{padding-top:0}.payment-steps li:last-child{border-bottom:0}.payment-step-number{color:var(--dg-color-text-secondary);font-family:var(--dg-font-product-code);font-size:var(--dg-type-caption);padding-top:var(--dg-space-1)}.payment-steps h3{font-size:var(--dg-type-subsection);margin:0}.payment-steps p{color:var(--dg-color-text-secondary);margin:var(--dg-space-2) 0 0}.payment-steps strong{color:var(--dg-color-text)}.payment-destination{border:1px solid var(--dg-color-border);border-radius:var(--dg-radius-control);background:var(--dg-color-surface);display:inline-block;margin-top:var(--dg-space-3);padding:var(--dg-space-3) var(--dg-space-4);font-family:var(--dg-font-product-code);overflow-wrap:anywhere}.payment-email{overflow-wrap:anywhere}@media(max-width:850px){.payment-guide{grid-template-columns:1fr;gap:var(--dg-space-8)}}@font-face{font-display:swap;font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;src:url(/fonts/ibm-plex-sans-variable.woff2) format("woff2")}html{color-scheme:light;min-height:100%;--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, #0001ac);--mat-sys-on-tertiary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant: light-dark(#0000ef, #0000ef);--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(#343dff, #bec2ff);--mat-sys-tertiary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim: light-dark(#bec2ff, #bec2ff);--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 IBM Plex Sans;--mat-sys-body-large-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-body-medium-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-body-small-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-display-large-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-display-medium-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-display-small-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-headline-large-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-headline-medium-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-headline-small-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-label-large-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-label-medium-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-label-small-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-title-large-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-title-medium-font: IBM Plex Sans;--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 IBM Plex Sans;--mat-sys-title-small-font: IBM Plex Sans;--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;--mat-sys-primary: var(--dg-color-accent);--mat-sys-on-primary: var(--dg-color-text-on-accent);--mat-sys-primary-container: var(--dg-color-accent-soft);--mat-sys-on-primary-container: var(--dg-color-text);--mat-sys-secondary: var(--dg-color-text-secondary);--mat-sys-secondary-container: var(--dg-color-accent-soft);--mat-sys-on-secondary-container: var(--dg-color-accent);--mat-sys-tertiary: var(--dg-color-accent);--mat-sys-surface: var(--dg-color-surface);--mat-sys-surface-container: var(--dg-color-sidebar);--mat-sys-surface-container-low: var(--dg-color-canvas);--mat-sys-surface-container-high: var(--dg-color-surface-hover);--mat-sys-on-surface: var(--dg-color-text);--mat-sys-on-surface-variant: var(--dg-color-text-secondary);--mat-sys-outline: var(--dg-color-control-border);--mat-sys-outline-variant: var(--dg-color-border);--mat-sys-error: var(--dg-color-danger)}body{background:var(--dg-color-canvas);color:var(--dg-color-text);font-family:var(--dg-font-ui);font-size:var(--dg-type-body);line-height:var(--dg-line-body);margin:0;min-height:100%;text-rendering:optimizeLegibility}*{box-sizing:border-box}::selection{background:var(--dg-color-accent-soft);color:var(--dg-color-text)}a{color:var(--dg-color-accent);text-underline-offset:3px}a,button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--dg-focus-width) solid var(--dg-color-focus);outline-offset:var(--dg-focus-offset)}h1,h2,h3,h4{color:var(--dg-color-text);font-weight:var(--dg-weight-semibold);letter-spacing:var(--dg-tracking-heading);line-height:var(--dg-line-heading)}h1{font-size:var(--dg-type-page)}h2{font-size:var(--dg-type-section)}h3{font-size:var(--dg-type-subsection)}p{text-wrap:pretty}.dg-product-ui a:focus-visible,.dg-product-ui button:focus-visible{outline:var(--dg-focus-width) solid var(--dg-color-focus);outline-offset:var(--dg-focus-offset)}.dg-product-ui .mat-mdc-unelevated-button,.dg-product-ui .mat-mdc-outlined-button{--mat-button-filled-container-color: var(--dg-color-accent);--mat-button-filled-label-text-color: var(--dg-color-text-on-accent);--mat-button-outlined-label-text-color: var(--dg-color-text);--mat-button-outlined-outline-color: var(--dg-color-control-border);--mat-button-filled-state-layer-color: var(--dg-color-text-on-accent);--mat-button-outlined-state-layer-color: var(--dg-color-text);--mat-button-filled-disabled-container-color: var(--dg-color-disabled-surface);--mat-button-filled-disabled-label-text-color: var(--dg-color-disabled-text);--mat-button-outlined-disabled-label-text-color: var(--dg-color-disabled-text);border-radius:var(--dg-radius-control)!important;font-size:var(--dg-type-control)!important;font-weight:var(--dg-weight-medium)!important;letter-spacing:normal!important;min-height:var(--dg-control-height);padding-inline:var(--dg-space-5)!important;box-shadow:none}.dg-product-ui .mat-mdc-unelevated-button app-ui-icon,.dg-product-ui .mat-mdc-outlined-button app-ui-icon{margin-inline:var(--dg-space-2);width:18px;height:18px;vertical-align:middle}.dg-product-ui .mat-mdc-unelevated-button:not(:disabled){background:var(--dg-color-accent);color:var(--dg-color-text-on-accent);box-shadow:none}.dg-product-ui .mat-mdc-unelevated-button:not(:disabled):hover{background:var(--dg-color-accent-hover)}.dg-product-ui .mat-mdc-unelevated-button:not(:disabled):active{background:var(--dg-color-accent-pressed)}.dg-product-ui .mat-mdc-outlined-button:not(:disabled){background:var(--dg-color-surface);color:var(--dg-color-text)}.dg-product-ui .mat-mdc-outlined-button:not(:disabled):hover{background:var(--dg-color-surface-hover)}.mat-mdc-card-subtitle{color:var(--dg-color-text-secondary);font-size:var(--dg-type-control)}.mat-mdc-card-actions{flex-wrap:wrap;gap:var(--dg-space-2)}.form-error,.error,.form-success,.notice{border-left:3px solid;border-radius:var(--dg-radius-control);margin-block:var(--dg-space-4);padding:var(--dg-space-4)}.form-error,.error{background:var(--dg-color-danger-soft);border-color:var(--dg-color-danger);color:var(--dg-color-danger)}.form-success{background:var(--dg-color-confirmation-soft);border-color:var(--dg-color-confirmation);color:var(--dg-color-confirmation)}.notice{background:var(--dg-color-accent-soft);border-color:var(--dg-color-accent);color:var(--dg-color-text)}@media(max-width:700px){h1{font-size:var(--dg-type-page-mobile)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
