:root{--tf-primary: #c1532a;--tf-primary-hover: #a8441e;--tf-primary-active: #8a3517;--tf-primary-deep: #8a3517;--tf-primary-soft: #fbf1eb;--tf-primary-soft-strong: #f6e2d4;--tf-success: #4c7a54;--tf-success-soft: #eaf2ea;--tf-warning: #8a6216;--tf-warning-soft: #f7efda;--tf-danger: #b3402e;--tf-danger-hover: #9a3525;--tf-danger-soft: #f8e9e4;--tf-info: #2e6b7a;--tf-info-soft: #e7f1ef;--tf-text-900: #262219;--tf-text-700: #433e33;--tf-text-500: #6c6659;--tf-text-400: #776f62;--tf-text-300: #b0a899;--tf-text-on-primary: #ffffff;--tf-bg: #faf9f6;--tf-surface: #ffffff;--tf-surface-2: #f5f2ec;--tf-surface-3: #efebe3;--tf-border: #eae5da;--tf-border-strong: #d8d1c3;--tf-sidebar-bg: #211e19;--tf-sidebar-text: #a49d8e;--tf-sidebar-text-active: #ffffff;--tf-sidebar-item-hover: rgba(255, 255, 255, .06);--tf-sidebar-item-active-bg: rgba(255, 255, 255, .09);--tf-sidebar-border: rgba(255, 255, 255, .09);--tf-space-1: .25rem;--tf-space-2: .5rem;--tf-space-3: .75rem;--tf-space-4: 1rem;--tf-space-5: 1.25rem;--tf-space-6: 1.5rem;--tf-space-8: 2rem;--tf-space-10: 2.5rem;--tf-space-12: 3rem;--tf-radius-sm: 6px;--tf-radius-md: 10px;--tf-radius-lg: 14px;--tf-radius-pill: 999px;--tf-shadow-sm: 0 1px 2px rgba(66, 56, 40, .06);--tf-shadow-md: 0 6px 18px rgba(62, 52, 36, .12);--tf-shadow-lg: 0 18px 44px rgba(45, 36, 26, .18);--tf-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--tf-fs-xs: .75rem;--tf-fs-sm: .8125rem;--tf-fs-md: .875rem;--tf-fs-base: .9375rem;--tf-fs-lg: 1.0625rem;--tf-fs-xl: 1.25rem;--tf-fs-2xl: 1.5rem;--tf-fs-3xl: 1.875rem;--tf-fs-4xl: 2.375rem;--tf-sidebar-width: 252px;--tf-topbar-height: 60px;--tf-duration: .15s;--tf-ease: cubic-bezier(.2, .6, .2, 1);--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #002f65);--mat-sys-on-tertiary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-tertiary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-tertiary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#005cbb, #abc7ff);--mat-sys-tertiary-container: light-dark(#d7e3ff, #00458f);--mat-sys-tertiary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-tertiary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--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 Inter;--mat-sys-body-large-font: Inter;--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 Inter;--mat-sys-body-medium-font: Inter;--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 Inter;--mat-sys-body-small-font: Inter;--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 Inter;--mat-sys-display-large-font: Inter;--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 Inter;--mat-sys-display-medium-font: Inter;--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 Inter;--mat-sys-display-small-font: Inter;--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 Inter;--mat-sys-headline-large-font: Inter;--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 Inter;--mat-sys-headline-medium-font: Inter;--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 Inter;--mat-sys-headline-small-font: Inter;--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 Inter;--mat-sys-label-large-font: Inter;--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 Inter;--mat-sys-label-medium-font: Inter;--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 Inter;--mat-sys-label-small-font: Inter;--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 Inter;--mat-sys-title-large-font: Inter;--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 Inter;--mat-sys-title-medium-font: Inter;--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 Inter;--mat-sys-title-small-font: Inter;--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;color-scheme:light}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--tf-font-family);font-size:var(--tf-fs-base);line-height:1.5;background-color:var(--tf-bg);color:var(--tf-text-900);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app-root,app-root{display:block;min-height:100%}a{color:var(--tf-primary);text-decoration:none}a:hover{text-decoration:none}.tf-link-sm,.link-row a{font-weight:600;color:var(--tf-primary-deep);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#c1532a59;text-underline-offset:2px}.tf-link-sm:hover,.link-row a:hover{color:var(--tf-primary-deep);text-decoration-color:currentColor}.tf-link-sm{font-size:var(--tf-fs-sm)}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.012em;line-height:1.25}p{margin:0}button{font-family:inherit}.mat-icon{flex-shrink:0}::selection{background:var(--tf-primary-soft-strong)}:focus-visible{outline:2px solid var(--tf-primary);outline-offset:2px;border-radius:4px}.mat-mdc-icon-button:focus-visible{outline-offset:0}.tf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tf-space-2);padding:9px 16px;border:1px solid transparent;border-radius:var(--tf-radius-sm);font-family:var(--tf-font-family);font-size:var(--tf-fs-md);font-weight:600;line-height:1.25;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color var(--tf-duration) var(--tf-ease),border-color var(--tf-duration) var(--tf-ease),color var(--tf-duration) var(--tf-ease),transform var(--tf-duration) var(--tf-ease)}.tf-btn:active:not(:disabled){transform:translateY(1px)}.tf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.tf-btn .mat-icon{font-size:18px;width:18px;height:18px}.tf-btn-primary{background:var(--tf-primary);color:var(--tf-text-on-primary)}.tf-btn-primary:hover:not(:disabled){background:var(--tf-primary-hover)}.tf-btn-primary:active:not(:disabled){background:var(--tf-primary-active)}.tf-btn-secondary{background:var(--tf-surface);border-color:var(--tf-border-strong);color:var(--tf-text-700)}.tf-btn-secondary:hover:not(:disabled){background:var(--tf-surface-2);border-color:var(--tf-border-strong);color:var(--tf-text-900)}.tf-btn-soft{background:var(--tf-primary-soft);color:var(--tf-primary-deep)}.tf-btn-soft:hover:not(:disabled){background:var(--tf-primary-soft-strong);color:var(--tf-primary-active)}.tf-btn-ghost{background:transparent;color:var(--tf-text-500)}.tf-btn-ghost:hover:not(:disabled){background:var(--tf-surface-3);color:var(--tf-text-900)}.tf-btn-danger{background:var(--tf-danger);color:#fff}.tf-btn-danger:hover:not(:disabled){background:var(--tf-danger-hover)}.tf-btn-danger-ghost{background:transparent;color:var(--tf-danger)}.tf-btn-danger-ghost:hover:not(:disabled){background:var(--tf-danger-soft);color:var(--tf-danger-hover)}.tf-btn-link{padding:0;border:none;background:none;color:var(--tf-primary-deep);font-size:var(--tf-fs-sm);font-weight:600;cursor:pointer}.tf-btn-link:hover:not(:disabled){color:var(--tf-primary-active);text-decoration:underline}.tf-btn-block{width:100%}.tf-btn-sm{padding:6px 11px;font-size:var(--tf-fs-sm)}.tf-btn-lg{padding:11px 22px;font-size:var(--tf-fs-base)}.tf-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:var(--tf-radius-sm);background:transparent;color:var(--tf-text-400);cursor:pointer;transition:background-color var(--tf-duration) var(--tf-ease),color var(--tf-duration) var(--tf-ease)}.tf-icon-btn:hover:not(:disabled){background:var(--tf-surface-3);color:var(--tf-text-900)}.tf-icon-btn:disabled{opacity:.4;cursor:not-allowed}.tf-icon-btn .mat-icon{font-size:19px;width:19px;height:19px}.tf-icon-btn-danger:hover:not(:disabled){background:var(--tf-danger-soft);color:var(--tf-danger)}.tf-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--tf-space-4)}.tf-label{font-size:var(--tf-fs-sm);font-weight:600;color:var(--tf-text-700)}.tf-input,.tf-select,.tf-textarea{width:100%;padding:9px 12px;font-family:var(--tf-font-family);font-size:var(--tf-fs-md);color:var(--tf-text-900);background:var(--tf-surface);border:1px solid var(--tf-border-strong);border-radius:var(--tf-radius-sm);transition:border-color var(--tf-duration) var(--tf-ease),box-shadow var(--tf-duration) var(--tf-ease)}.tf-input::placeholder,.tf-select::placeholder,.tf-textarea::placeholder{color:var(--tf-text-400)}.tf-input:hover:not(:disabled):not(:focus),.tf-select:hover:not(:disabled):not(:focus),.tf-textarea:hover:not(:disabled):not(:focus){border-color:var(--tf-text-400)}.tf-input:focus,.tf-select:focus,.tf-textarea:focus{outline:none;border-color:var(--tf-primary);box-shadow:0 0 0 3px #c1532a24}.tf-input:disabled,.tf-select:disabled,.tf-textarea:disabled{background:var(--tf-surface-3);color:var(--tf-text-500);cursor:not-allowed}.tf-textarea{resize:vertical;min-height:96px;line-height:1.5}.tf-input-invalid{border-color:var(--tf-danger)!important}.tf-input-invalid:focus{box-shadow:0 0 0 3px #b3402e1f}.tf-error-text{font-size:var(--tf-fs-xs);font-weight:500;color:var(--tf-danger)}.tf-hint{font-size:var(--tf-fs-xs);color:var(--tf-text-400)}.tf-field-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tf-space-2)}.tf-input-group{position:relative}.tf-input-group .mat-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:19px;color:var(--tf-text-400);pointer-events:none}.tf-input-group .tf-input,.tf-input-group .tf-select{padding-left:38px}.tf-input-group.tf-input-group-right .tf-input,.tf-input-group.tf-input-group-right .tf-select{padding-right:38px;padding-left:12px}.tf-card{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md);padding:var(--tf-space-5)}.tf-card-flat{background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:var(--tf-radius-md)}.tf-card-hover{transition:box-shadow var(--tf-duration) var(--tf-ease),border-color var(--tf-duration) var(--tf-ease),transform var(--tf-duration) var(--tf-ease)}.tf-card-hover:hover{box-shadow:var(--tf-shadow-sm);border-color:var(--tf-border-strong);transform:translateY(-1px)}.tf-panel{background:var(--tf-surface-2);border-radius:var(--tf-radius-md);padding:var(--tf-space-4)}.tf-card-title{font-size:var(--tf-fs-base);font-weight:700;color:var(--tf-text-900)}.tf-card-subtitle{font-size:var(--tf-fs-sm);color:var(--tf-text-500);margin-top:2px}.tf-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--tf-radius-pill);font-size:var(--tf-fs-xs);font-weight:600;line-height:1.4}.tf-pill-primary{background:var(--tf-primary-soft);color:var(--tf-primary-deep)}.tf-pill-success{background:var(--tf-success-soft);color:var(--tf-success)}.tf-pill-warning{background:var(--tf-warning-soft);color:var(--tf-warning)}.tf-pill-danger{background:var(--tf-danger-soft);color:var(--tf-danger)}.tf-pill-info{background:var(--tf-info-soft);color:var(--tf-info)}.tf-pill-neutral{background:var(--tf-surface-3);color:var(--tf-text-500)}.tf-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--tf-radius-sm);font-size:var(--tf-fs-xs);font-weight:600;background:var(--tf-surface-2);border:1px solid var(--tf-border);color:var(--tf-text-700)}.tf-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tf-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-size:var(--tf-fs-sm);font-weight:700;color:var(--tf-text-700);background:var(--tf-surface-3);flex-shrink:0;-webkit-user-select:none;user-select:none}.tf-avatar-accent{background:var(--tf-primary);color:var(--tf-text-on-primary)}.tf-avatar-sm{width:26px;height:26px;font-size:var(--tf-fs-xs)}.tf-avatar-lg{width:48px;height:48px;font-size:var(--tf-fs-lg)}.tf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tf-space-2);padding:var(--tf-space-10) var(--tf-space-6);text-align:center;color:var(--tf-text-500)}.tf-empty .mat-icon{font-size:28px;width:28px;height:28px;margin-bottom:var(--tf-space-2);color:var(--tf-text-300)}.tf-empty h3{font-size:var(--tf-fs-lg);color:var(--tf-text-900)}.tf-empty p{font-size:var(--tf-fs-md);max-width:340px}.not-found{display:grid;place-items:center;min-height:min(70vh,560px);padding:var(--tf-space-6)}.tf-skeleton{position:relative;overflow:hidden;background:var(--tf-surface-3);border-radius:var(--tf-radius-sm)}.tf-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:tf-shimmer 1.6s infinite}@keyframes tf-shimmer{to{transform:translate(100%)}}.tf-page{display:flex;flex-direction:column;gap:var(--tf-space-6);max-width:1160px;width:100%;margin:0 auto;padding:var(--tf-space-8)}.tf-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--tf-space-4);flex-wrap:wrap}.tf-page-title{font-size:var(--tf-fs-2xl);font-weight:800;letter-spacing:-.02em}.tf-page-subtitle{font-size:var(--tf-fs-base);color:var(--tf-text-500);margin-top:4px}.tf-section-title{font-size:var(--tf-fs-lg);font-weight:700;color:var(--tf-text-900)}.tf-link{color:var(--tf-primary-deep);font-size:var(--tf-fs-sm);font-weight:600}.tf-link:hover{color:var(--tf-primary-active);text-decoration:underline}.tf-kicker{font-size:var(--tf-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tf-text-400)}.tf-toast-host{position:fixed;bottom:var(--tf-space-6);right:var(--tf-space-6);display:flex;flex-direction:column;gap:var(--tf-space-2);z-index:1000;pointer-events:none}.tf-toast{display:flex;align-items:flex-start;gap:var(--tf-space-3);min-width:300px;max-width:380px;padding:11px 14px;border-radius:var(--tf-radius-md);background:#2a2620;color:#f6f3ec;box-shadow:var(--tf-shadow-lg);pointer-events:auto;animation:tf-toast-in .2s var(--tf-ease)}.tf-toast .mat-icon{font-size:19px;width:19px;height:19px}.tf-toast .tf-toast-msg{flex:1;font-size:var(--tf-fs-sm);font-weight:500;line-height:1.45;word-break:break-word}.tf-toast .tf-toast-close{margin:-6px -8px -6px 0;color:#8b8475}.tf-toast .tf-toast-close:hover{color:#f6f3ec;background:#ffffff14}.tf-toast-success .tf-toast-icon{color:#8fbb92}.tf-toast-error .tf-toast-icon{color:#e88b7a}.tf-toast-warning .tf-toast-icon{color:#d9b36a}.tf-toast-info .tf-toast-icon{color:#86b8c2}@keyframes tf-toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.tf-dialog-backdrop{position:fixed;inset:0;background:#1e191180;display:flex;align-items:center;justify-content:center;padding:var(--tf-space-4);z-index:1002;animation:tf-fade-in .16s var(--tf-ease)}.tf-dialog{width:min(420px,100%);background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:var(--tf-radius-lg);box-shadow:var(--tf-shadow-lg);padding:var(--tf-space-6);animation:tf-dialog-up .2s var(--tf-ease)}.tf-dialog-title{font-size:var(--tf-fs-lg);font-weight:700}.tf-dialog-message{margin-top:var(--tf-space-2);font-size:var(--tf-fs-md);color:var(--tf-text-500);line-height:1.5}.tf-dialog-actions{display:flex;justify-content:flex-end;gap:var(--tf-space-2);margin-top:var(--tf-space-6)}@keyframes tf-fade-in{0%{opacity:0}}@keyframes tf-dialog-up{0%{opacity:0;transform:translateY(10px) scale(.98)}}.tf-divider{height:1px;background:var(--tf-border);border:none;margin:var(--tf-space-4) 0}.tf-muted{color:var(--tf-text-500)}.tf-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tf-alert{display:flex;align-items:flex-start;gap:var(--tf-space-2);padding:10px 13px;border-radius:var(--tf-radius-sm);font-size:var(--tf-fs-sm);font-weight:500}.tf-alert .mat-icon{margin-top:1px;font-size:18px;width:18px;height:18px}.tf-alert-error{background:var(--tf-danger-soft);color:var(--tf-danger)}.tf-alert-info{background:var(--tf-info-soft);color:var(--tf-info)}.tf-alert-success{background:var(--tf-success-soft);color:var(--tf-success)}.auth-page{display:flex;min-height:100vh;background:var(--tf-bg)}.auth-brand-panel{position:relative;flex:1 1 46%;display:flex;flex-direction:column;justify-content:space-between;padding:var(--tf-space-8) var(--tf-space-10);color:var(--tf-text-900);background:repeating-linear-gradient(to bottom,transparent 0 33px,rgba(86,74,52,.045) 34px),var(--tf-surface-2);overflow:hidden}.auth-brand-panel .brand{display:inline-flex;align-items:center;gap:var(--tf-space-3);color:var(--tf-text-900);text-decoration:none}.auth-brand-panel .brand img{width:40px;height:40px;color:var(--tf-text-900)}.auth-brand-panel .brand .brand-name{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.auth-brand-panel .brand .brand-name span{color:var(--tf-primary)}.auth-brand-panel .auth-tagline{position:relative;z-index:1}.auth-brand-panel .auth-tagline h1{font-size:2.4rem;font-weight:800;line-height:1.14;letter-spacing:-.025em;max-width:520px}.auth-brand-panel .auth-tagline p{margin-top:var(--tf-space-4);font-size:var(--tf-fs-lg);color:var(--tf-text-500);max-width:460px}.auth-brand-panel .auth-features{position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--tf-space-3)}.auth-brand-panel .auth-features .auth-feature{display:flex;align-items:center;gap:var(--tf-space-3);font-size:var(--tf-fs-md);font-weight:500;color:var(--tf-text-700)}.auth-brand-panel .auth-features .auth-feature .mat-icon{font-size:18px;width:18px;height:18px;color:var(--tf-primary)}.auth-brand-panel .auth-motif{position:absolute;right:-56px;bottom:-70px;width:360px;height:360px;color:var(--tf-primary);opacity:.1;pointer-events:none}.auth-form-container{flex:1 1 54%;display:flex;align-items:center;justify-content:center;padding:var(--tf-space-6)}.auth-form-container .auth-card{width:100%;max-width:420px;background:var(--tf-surface);border:1px solid var(--tf-border);border-radius:var(--tf-radius-lg);padding:var(--tf-space-8)}.auth-form-container .auth-card .auth-card-brand{display:none}.auth-form-container .auth-card .auth-card-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.auth-form-container .auth-card .auth-card-subtitle{font-size:var(--tf-fs-md);color:var(--tf-text-500);margin-bottom:var(--tf-space-6)}.auth-form-container .auth-card .auth-card-footer,.auth-form-container .auth-card .link-row{margin-top:var(--tf-space-4);padding-top:var(--tf-space-4);border-top:1px solid var(--tf-border);text-align:center;font-size:var(--tf-fs-sm);color:var(--tf-text-500)}@media(max-width:880px){.auth-brand-panel{display:none}.auth-form-container .auth-card{max-width:440px}.auth-form-container .auth-card .auth-card-brand{display:flex;justify-content:center;margin-bottom:var(--tf-space-6)}.auth-form-container .auth-card .auth-card-brand img{width:44px;height:44px;color:var(--tf-text-900)}}@media(max-width:720px){.tf-page{padding:var(--tf-space-4)}}@media(max-width:480px){.tf-toast-host{right:var(--tf-space-4);left:var(--tf-space-4)}.tf-toast{min-width:0;width:100%;max-width:none}.auth-form-container{padding:var(--tf-space-4)}.auth-form-container .auth-card{padding:var(--tf-space-5)}}
