@charset "UTF-8";@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-EWLSKVKN.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-7GGTF7EK.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-N43DBLU2.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-5SRY4DMZ.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-O25CN4JL.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.skeleton{display:flex;flex-direction:column;gap:10px;padding:var(--space-2) 0}.skeleton>span{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--color-surface-2) 25%,var(--color-border) 50%,var(--color-surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.3s ease-in-out infinite}.skeleton>span:nth-child(2){width:82%}.skeleton>span:nth-child(3){width:64%}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state,td.empty-cell{text-align:center;color:var(--color-text-muted);padding:var(--space-6) var(--space-4)!important;font-size:var(--text-base)}.empty-state:before,td.empty-cell:before{content:"";display:block;width:40px;height:40px;margin:0 auto var(--space-3);border-radius:50%;background-color:var(--color-surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398a2b3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 13h4l2 3h6l2-3h4'/%3E%3Cpath d='M5 13 7.5 5h9L19 13v6H5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:22px}tbody tr:hover>td.empty-cell{background:transparent}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5)}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.kpi{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:2px;text-decoration:none;color:inherit}a.kpi:hover{border-color:var(--accent-color)}.kpi-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.kpi-value{font-size:var(--text-xl);font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi-sub{font-size:var(--text-xs);color:var(--color-text-muted)}.kpi.good .kpi-value{color:var(--color-success)}.kpi.bad .kpi-value{color:var(--color-danger)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:var(--text-xs);font-weight:600;white-space:nowrap;background:var(--color-surface-2);color:var(--color-text-muted)}.badge.success{background:var(--color-success-soft);color:var(--color-success)}.badge.warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge.danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge.info{background:var(--color-info-soft);color:var(--color-info)}.callout{border-radius:var(--radius);padding:var(--space-3) var(--space-4);border:1px solid var(--color-info-border);background:var(--color-info-soft);font-size:var(--text-base)}.callout.warning{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.callout.danger{border-color:var(--color-danger-border);background:var(--color-danger-soft)}.callout.success{border-color:var(--color-success-border);background:var(--color-success-soft)}.tab-overflow{overflow:visible!important;position:relative}.tab-overflow>a.tab-hidden,.tab-overflow>a[title="Back to dashboard"]{display:none!important}.tab-more{margin-left:auto;align-self:center;flex-shrink:0;background:transparent!important;border:none!important;color:var(--color-text-muted)!important;font-weight:500;font-size:var(--text-sm);padding:.45rem .7rem!important;border-radius:var(--radius-sm);cursor:pointer;box-shadow:none!important}.tab-more:hover{background:var(--color-surface-2)!important;color:var(--color-text)!important}.tab-more-menu{position:absolute;right:.5rem;top:calc(100% + 4px);z-index:60;min-width:200px;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.tab-more-menu[hidden]{display:none}.tab-more-menu>button{text-align:left;background:transparent!important;border:none!important;color:var(--color-text)!important;padding:8px 12px!important;border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;box-shadow:none!important}.tab-more-menu>button:hover{background:var(--color-surface-2)!important}.membership-page table th{color:var(--color-text-muted);font-weight:600;font-size:.7rem;letter-spacing:.06em;padding:10px 12px;white-space:nowrap}.membership-page table td{padding:9px 12px;vertical-align:middle}.membership-page table td.num,.membership-page table th.num,.membership-page table td.nowrap{white-space:nowrap}.membership-page table tbody tr:last-child>td{border-bottom-color:transparent}.membership-page table td>button,.membership-page table td>a.button-link,.membership-page table td .row-actions button{padding:4px 10px;font-size:var(--text-sm);white-space:nowrap}.membership-page table td>button+button{margin:2px 0 2px 4px}.membership-page h2:before{width:4px!important;height:1.1rem!important;border-radius:2px!important}.membership-page h2{font-size:var(--text-xl)!important;letter-spacing:-.02em}app-modal form:not(.pop):not(.inline){display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px 16px!important;align-items:start!important}app-modal form:not(.pop):not(.inline)>:is(fieldset,.form-actions,p,h3,h4,hr,div,table,.error,.hint,small,section,ul,app-field-change-log),app-modal form:not(.pop):not(.inline)>label:has(textarea),app-modal form:not(.pop):not(.inline)>label:has(input[type=file]){grid-column:1/-1}app-modal form:not(.pop):not(.inline)>label.checkbox,app-modal form:not(.pop):not(.inline)>label:has(>input[type=checkbox]){align-self:end;min-height:2.1rem}app-modal form :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%}app-modal form>.form-actions{display:flex;gap:8px;padding-top:12px;margin-top:2px;border-top:1px solid var(--color-border)}app-modal fieldset{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px 16px!important;align-items:start!important}app-modal fieldset>:is(legend){grid-column:1/-1}app-modal fieldset>:is(p,div,.hint,.error,table){grid-column:1/-1}app-modal form>p:not(.error),app-modal fieldset>p:not(.error){margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.membership-page :is(input:not([type=checkbox]):not([type=radio]),select),app-modal :is(input:not([type=checkbox]):not([type=radio]),select){min-height:2.3rem;border-radius:var(--radius-sm)}.membership-page :is(input,select,textarea):focus,app-modal :is(input,select,textarea):focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color) 20%,transparent)}app-modal :is(input,select,textarea).ng-invalid.ng-touched{border-color:var(--color-danger-border)}.membership-page .pagination button{padding:5px 12px}@media print{body{background:#fff!important}app-breadcrumb,app-version-footer,app-toast-host,.membership-nav,.filter-bar,.list-toolbar,app-list-toolbar,.pagination,.membership-page button,.skeleton{display:none!important}.membership-page{box-shadow:none!important;border:none!important;margin:0!important;max-width:none!important;padding:0!important}.membership-page:before{display:none!important}.table-scroll{overflow:visible!important}.membership-page table th,.membership-page table td{padding:4px 6px;font-size:10pt}}.membership-page,.membership-shell{max-width:1440px!important}fieldset{min-width:0}.membership-page :is(label,select,input[type=file]){max-width:100%}.membership-page code{overflow-wrap:anywhere}.table-scroll{max-height:calc(100dvh - 150px);overflow:auto!important;overscroll-behavior:contain;border-radius:var(--radius-sm)}.table-scroll>table{border-collapse:separate;border-spacing:0}.table-scroll>table>thead>tr>th{position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--accent-color) 7%,var(--color-surface));box-shadow:inset 0 -1px 0 var(--color-border)}.table-scroll>table>:is(thead,tbody,tfoot)>tr>:first-child:not([colspan]){position:sticky;left:0;z-index:2;background:var(--color-surface)}.table-scroll>table>thead>tr>th:first-child{z-index:4;background:color-mix(in srgb,var(--accent-color) 7%,var(--color-surface))}.table-scroll>table:has(>thead>tr>th:first-child input[type=checkbox])>:is(thead,tbody,tfoot)>tr>:first-child:not([colspan]){width:44px;min-width:44px;max-width:44px}.table-scroll>table:has(>thead>tr>th:first-child input[type=checkbox])>:is(thead,tbody,tfoot)>tr>:nth-child(2):not([colspan]){position:sticky;left:44px;z-index:2;background:var(--color-surface);box-shadow:1px 0 0 var(--color-border)}.table-scroll>table:has(>thead>tr>th:first-child input[type=checkbox])>thead>tr>th:nth-child(2){z-index:4;background:color-mix(in srgb,var(--accent-color) 7%,var(--color-surface))}.table-scroll>table:not(:has(>thead>tr>th:first-child input[type=checkbox]))>:is(thead,tbody,tfoot)>tr>:first-child:not([colspan]){box-shadow:1px 0 0 var(--color-border)}.table-scroll>table:has(>tbody>tr>td:last-child>:is(button,a.button-link,.row-actions))>:is(thead,tbody,tfoot)>tr>:last-child:not([colspan]):not(:first-child){position:sticky;right:0;z-index:2;background:var(--color-surface);box-shadow:-1px 0 0 var(--color-border)}.table-scroll>table:has(>tbody>tr>td:last-child>:is(button,a.button-link,.row-actions))>thead>tr>th:last-child{z-index:4;background:color-mix(in srgb,var(--accent-color) 7%,var(--color-surface));box-shadow:-1px 0 0 var(--color-border),inset 0 -1px 0 var(--color-border)}.table-scroll>table>tbody>tr:hover>:is(:first-child,:nth-child(2),:last-child):not([colspan]){background:color-mix(in srgb,var(--accent-color) 5%,var(--color-surface))}.table-scroll>table>tbody>tr:is(.selected-row,.highlighted-row)>:is(:first-child,:nth-child(2),:last-child):not([colspan]){background:color-mix(in srgb,var(--accent-color) 12%,var(--color-surface))}@media(max-width:700px){.table-scroll>table>:is(thead,tbody,tfoot)>tr>:last-child:not(:first-child){position:static!important;box-shadow:none!important}.table-scroll{container-type:inline-size;width:100%;box-sizing:border-box}.table-scroll>table>tbody>tr>td[colspan]>*{position:sticky;left:12px;box-sizing:border-box;max-width:calc(100cqw - 24px)}.table-scroll>table>tbody>tr>td[colspan] label{min-width:0}}@media print{.table-scroll{max-height:none!important}.table-scroll>table th,.table-scroll>table td{position:static!important}}.table-scroll>table>thead>tr>th{z-index:3!important;background:color-mix(in srgb,var(--accent-color) 7%,var(--color-surface))!important}.table-scroll>table>thead>tr>th:is(:first-child,:nth-child(2),:last-child){z-index:5!important}:root{--brand-primary: #1f3864;--brand-accent: #2e74b5;--primary-color: var(--brand-primary);--primary-color-hover: color-mix(in srgb, var(--primary-color) 80%, #000);--accent-color: var(--brand-accent);--primary-text: var(--primary-color);--color-on-primary: #fff;--color-primary-soft: color-mix(in srgb, var(--primary-color) 10%, var(--color-surface));--header-bg: linear-gradient(135deg, var(--primary-color), var(--primary-color-hover));--header-text: #fff;--color-bg: #f4f6f9;--color-surface: #ffffff;--color-surface-2: #f6f7f9;--color-surface-hover: color-mix(in srgb, var(--accent-color) 5%, var(--color-surface));--color-border: #e2e6ec;--color-border-strong: #cfd5de;--color-text: #1a1d23;--color-text-muted: #667085;--color-text-faint: #646d7c;--color-disabled-bg: #eceff3;--color-disabled-text: #9aa1ab;--color-success: #1e7b4d;--color-warning: #a15c00;--color-danger: #c0392b;--color-info: #1f5fbf;--color-purple: #5b3cc4;--color-success-soft: color-mix(in srgb, var(--color-success) 12%, var(--color-surface));--color-warning-soft: color-mix(in srgb, #f5b100 18%, var(--color-surface));--color-danger-soft: color-mix(in srgb, var(--color-danger) 11%, var(--color-surface));--color-info-soft: color-mix(in srgb, var(--color-info) 10%, var(--color-surface));--color-purple-soft: color-mix(in srgb, var(--color-purple) 10%, var(--color-surface));--color-success-border: color-mix(in srgb, var(--color-success) 35%, var(--color-surface));--color-warning-border: color-mix(in srgb, #f5b100 55%, var(--color-surface));--color-danger-border: color-mix(in srgb, var(--color-danger) 35%, var(--color-surface));--color-info-border: color-mix(in srgb, var(--color-info) 30%, var(--color-surface));--color-warning-bg: var(--color-warning-soft);--color-surface-muted: var(--color-surface-2);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 14px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .14);--motion-fast: .15s;--motion: .25s;--font-sans: "Inter Variable", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--chart-1: #2a78d6;--chart-2: #1baf7a;--chart-grid: var(--color-border);--page-glow-1: color-mix(in srgb, var(--primary-color) 5%, transparent);--page-glow-2: color-mix(in srgb, var(--accent-color) 6%, transparent);color-scheme:light}@media screen{:root[data-theme=fresh]{--primary-color: #0f766e;--accent-color: #14b8a6;--header-bg: linear-gradient(135deg, #0f766e, #0d9488);--color-bg: #f7f6f2;--color-surface: #fffefb;--color-surface-2: #f6f4ee;--color-border: #ebe7df;--color-border-strong: #d9d3c7;--color-text: #1f2523;--color-text-muted: #6b716d;--color-disabled-bg: #efece5;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(60, 50, 30, .05);--shadow-md: 0 6px 20px rgba(60, 50, 30, .07);--page-glow-1: color-mix(in srgb, #14b8a6 7%, transparent);--page-glow-2: color-mix(in srgb, #f5b100 6%, transparent)}:root[data-theme=saffron]{--primary-color: #b45309;--accent-color: #9a3412;--header-bg: linear-gradient(135deg, #9a3412, #b45309);--color-bg: #fbf7f0;--color-surface: #fffdf8;--color-surface-2: #f8f1e6;--color-border: #eee3d3;--color-border-strong: #dccbb4;--color-text: #2a211b;--color-text-muted: #6f6259;--color-text-faint: #6f6259;--color-disabled-bg: #f1e9dc;--page-glow-1: color-mix(in srgb, #f59e0b 8%, transparent);--page-glow-2: color-mix(in srgb, #9a3412 5%, transparent)}:root[data-theme=forest]{--primary-color: #166534;--accent-color: #15803d;--header-bg: linear-gradient(135deg, #14532d, #166534);--color-bg: #f3f7f2;--color-surface: #fcfefb;--color-surface-2: #eef4ec;--color-border: #dfe9dc;--color-border-strong: #c8d8c3;--color-text: #1b241d;--color-text-muted: #5f6d63;--color-text-faint: #5f6d63;--color-disabled-bg: #e8efe5;--page-glow-1: color-mix(in srgb, #22c55e 6%, transparent);--page-glow-2: color-mix(in srgb, #15803d 4%, transparent)}:root[data-theme=ocean]{--primary-color: #0e6f8f;--accent-color: #0891b2;--header-bg: linear-gradient(135deg, #0c4a6e, #0e6f8f);--color-bg: #f1f6f9;--color-surface: #fbfdfe;--color-surface-2: #eaf2f6;--color-border: #dae6ed;--color-border-strong: #c3d5df;--color-text: #14222b;--color-text-muted: #5b6b76;--color-text-faint: #5b6b76;--color-disabled-bg: #e4edf2;--page-glow-1: color-mix(in srgb, #06b6d4 7%, transparent);--page-glow-2: color-mix(in srgb, #0c4a6e 5%, transparent)}:root[data-theme=midnight]{--primary-color: #4c5fd5;--accent-color: #8b9cf7;--primary-text: #aab8ff;--header-bg: linear-gradient(135deg, #0b1020, #141c3a);--color-bg: #0b1020;--color-surface: #121a33;--color-surface-2: #18213f;--color-surface-hover: #1c2649;--color-border: #26305a;--color-border-strong: #36427a;--color-text: #e4e8f7;--color-text-muted: #9aa3c7;--color-text-faint: #8b95bd;--color-disabled-bg: #1f2848;--color-disabled-text: #6c76a0;--color-success: #4cc38a;--color-warning: #f0b44c;--color-danger: #f07167;--color-info: #7fa8ff;--color-purple: #b4a2ff;--chart-1: #6f8cff;--chart-2: #2fbf8c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow-md: 0 4px 14px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6);--page-glow-1: color-mix(in srgb, #4c5fd5 10%, transparent);--page-glow-2: transparent;color-scheme:dark}:root[data-theme=dark]{--primary-color: color-mix(in srgb, var(--brand-primary) 75%, #5b7bb5);--accent-color: color-mix(in srgb, var(--brand-accent) 60%, #ffffff);--primary-text: color-mix(in srgb, var(--brand-primary) 30%, #c9dcff);--header-bg: linear-gradient(135deg, #161c24, #1b2330);--color-bg: #0f1419;--color-surface: #171d24;--color-surface-2: #1d242c;--color-surface-hover: #212a33;--color-border: #2a333d;--color-border-strong: #3a4552;--color-text: #e6e9ee;--color-text-muted: #9aa4b1;--color-text-faint: #8590a0;--color-disabled-bg: #252d36;--color-disabled-text: #6f7a87;--color-success: #4cc38a;--color-warning: #f0b44c;--color-danger: #f07167;--color-info: #6ea8fe;--color-purple: #a993f5;--color-success-soft: color-mix(in srgb, var(--color-success) 14%, var(--color-surface));--color-warning-soft: color-mix(in srgb, var(--color-warning) 14%, var(--color-surface));--color-danger-soft: color-mix(in srgb, var(--color-danger) 14%, var(--color-surface));--color-warning-border: color-mix(in srgb, var(--color-warning) 35%, var(--color-surface));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--page-glow-1: transparent;--page-glow-2: transparent;--chart-1: #3987e5;--chart-2: #199e70;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--text-md);font-feature-settings:"cv11","ss01";background:radial-gradient(1200px 600px at 10% -10%,var(--page-glow-1),transparent),radial-gradient(1000px 500px at 100% 0%,var(--page-glow-2),transparent),var(--color-bg);background-attachment:fixed;color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color var(--motion) ease,color var(--motion) ease}h1,h2,h3,h4{font-family:inherit;font-weight:600;letter-spacing:-.015em;margin:0}a{color:var(--primary-text)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}input,select,textarea,button{font-family:inherit;font-size:var(--text-base)}input,select,textarea{color:var(--color-text)}.num,td.num,th.num{font-variant-numeric:tabular-nums}.staging-banner{padding:6px 16px;background:#b42318;color:#fff;font-size:var(--text-sm);font-weight:600;text-align:center}.chip.chip-on{border-color:var(--primary-color);background:color-mix(in srgb,var(--primary-color) 10%,var(--color-surface));font-weight:600}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hint{color:var(--color-text-muted);font-size:.85rem}
