:root{--gray-50: #f7f7f9;--gray-100: #eeeef2;--gray-200: #e0e0e6;--gray-300: #cbcbd4;--gray-400: #a6a6b2;--gray-500: #82828f;--gray-600: #636370;--gray-700: #4a4a55;--gray-800: #303038;--gray-900: #1e1e24;--gray-950: #121215;--color-plum: #885a89;--color-primary: var(--color-plum);--color-on-primary: #ffffff;--color-surface-dark: var(--gray-950);--color-background-dark: #000000;--color-surface: var(--gray-900);--color-surface-raised: var(--gray-800);--color-text-light: #ffffff;--color-text-dark: #000000;--color-text-muted: var(--gray-400);--color-accent: #d7b9f7;--color-focus: #c49af2;--color-title-start: #c49af2;--color-title-end: #e8a3a0;--color-button-secondary: var(--gray-800);--color-travel-gold: #d4af37;--color-band: var(--gray-950);--color-band-pill: var(--gray-800);--color-notification: #ee7b30;--color-error: #e5636b;--color-danger: #b83a42;--color-invalid: #ee7b30;--color-success: #4caf7d;--color-info: #90caf9;--color-pending: #f2b544;--color-debt: #6b1e24;--color-debt-text: #ffd5d9;--color-divider: rgba(255, 255, 255, .08);--color-backdrop: rgba(0, 0, 0, .6);--shadow-popup: 0 8px 32px rgba(0, 0, 0, .6);--glass-fill: rgba(40, 40, 48, .55);--glass-edge: rgba(255, 255, 255, .14);--glass-shine: linear-gradient( 180deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .03) 50%, rgba(255, 255, 255, 0) 100% );--pill-shine: linear-gradient( 180deg, rgba(255, 255, 255, .22) 0%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, 0) 100% );--color-auth-start: #8a4fc2;--color-auth-end: #985a5e;--color-gradient-from: #22113d;--color-gradient-base: #170c20;--color-gradient-to: #2e1416;--radius-control: 16px;--tab-bar-height: 50px;--tab-bar-offset: 1rem}html,body{margin:0;min-height:100%;background-color:var(--color-background-dark);color:var(--color-text-light);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.ftt-glow-text{background-image:linear-gradient(90deg,var(--color-title-start),var(--color-title-end),var(--color-title-start),var(--color-title-end),var(--color-title-start));background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--color-title-start) 35%,transparent));animation:ftt-glow-slide 10s linear infinite}@keyframes ftt-glow-slide{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.ftt-glow-text{animation:none}}.ftt-card{padding:1.25rem;border-radius:var(--radius-control);background-color:var(--color-surface);--ftt-field-background: var(--color-surface-dark)}.ftt-inset{padding:1rem;border-radius:12px;background-color:var(--color-surface-dark);--ftt-field-background: var(--color-surface-raised)}.ftt-heading{margin:0;color:var(--color-text-muted);font-size:14px;font-weight:700;letter-spacing:.5px;line-height:20px;text-transform:uppercase}.ftt-collapse-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ftt-collapse-chevron{flex-shrink:0;transition:transform .2s ease}.ftt-collapse-chevron--open{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.ftt-collapse-chevron{transition:none}}.ftt-muted{margin:0;color:var(--color-text-muted);font-size:14px}.ftt-error{margin:0;color:var(--color-error);font-size:14px}.ftt-warning{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border-left:4px solid var(--color-pending);border-radius:8px;background-color:#ffb74d1f;font-size:14px}.ftt-warning p{margin:0}.ftt-warning__title{color:var(--color-pending);font-weight:600}.ftt-warning__title:before{content:"\26a0\fe0e  "}.ftt-success{margin:0;color:var(--color-success);font-size:14px}.ftt-link{padding:0;border:none;background:none;color:var(--color-accent);font:inherit;text-decoration:underline;cursor:pointer}.ftt-badge{flex-shrink:0;padding:.125rem .5rem;border-radius:10px;background-color:var(--color-surface-raised);font-size:12px}.ftt-badge--accent{background-color:var(--color-primary);color:var(--color-on-primary)}.ftt-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.ftt-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.ftt-list--divided>*+*{border-top:1px solid var(--color-divider)}.ftt-form{display:flex;flex-direction:column;gap:1rem}.ftt-input{box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:.75rem 1rem;border:2px solid transparent;border-radius:var(--radius-control);background-color:var(--ftt-field-background, var(--color-surface));color:var(--color-text-light);font-family:inherit;font-size:16px}select.ftt-input{padding-right:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23ffffff' stroke-opacity='0.7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;appearance:none;cursor:pointer}.ftt-input::placeholder{color:var(--color-text-muted);opacity:1}.ftt-input option{background-color:var(--color-surface);color:var(--color-text-light)}.ftt-input:focus{border-color:var(--color-focus);outline:none}.ftt-input.ng-invalid.ng-touched{border-color:var(--color-invalid);outline:none}.ftt-input:disabled{opacity:.6}.ftt-button{box-sizing:border-box;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-height:44px;padding:0 1.5rem;border:none;border-radius:var(--radius-control);background:none;color:var(--color-text-light);font-family:inherit;font-size:14px;font-weight:700;line-height:20px;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer}.ftt-button--primary{background-color:var(--color-primary);color:var(--color-on-primary)}.ftt-button--secondary{background-color:var(--color-button-secondary);color:var(--color-text-light)}.ftt-button--danger{background-color:var(--color-danger);color:var(--color-text-light)}.ftt-button--warning{background-color:var(--color-invalid);color:var(--color-text-dark)}.ftt-button--small{min-height:36px;padding:0 1rem;font-size:14px}.ftt-button--block{display:flex;width:100%;min-height:50px}.ftt-button:hover:not(:disabled){opacity:.85}.ftt-button:disabled{opacity:.6;cursor:not-allowed}.ftt-icon-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background-color:var(--color-surface);color:var(--color-text-light);cursor:pointer;transition:background-color .15s ease}.ftt-icon-button:hover{background-color:var(--color-surface-raised)}.ftt-icon-button--ghost{background-color:transparent}.ftt-icon-button--ghost:hover{background-color:#ffffff14}app-root.app--auth{--ftt-field-background: rgba(255, 255, 255, .07)}app-root.app--gradient{background-color:var(--color-gradient-base);background-image:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--color-auth-start) 28%,transparent) 0%,transparent 45%),radial-gradient(circle at 100% 100%,color-mix(in srgb,var(--color-auth-end) 22%,transparent) 0%,transparent 45%),linear-gradient(135deg,var(--color-gradient-from) 0%,var(--color-gradient-base) 50%,var(--color-gradient-to) 100%);background-attachment:fixed}.app--auth .ftt-input{border:1px solid var(--glass-edge)}.app--auth .ftt-input::placeholder{color:#ffffff80}.app--auth .ftt-input:focus{border-color:var(--color-focus);background-color:#ffffff1a}.app--auth .ftt-input.ng-invalid.ng-touched{border-color:var(--color-invalid)}.app--auth .ftt-button--primary{min-height:50px;background-color:var(--color-auth-start);background-image:linear-gradient(135deg,var(--color-auth-start),var(--color-auth-end));box-shadow:0 8px 24px color-mix(in srgb,var(--color-auth-start) 28%,transparent)}.app--auth .ftt-button--secondary{min-height:50px;border:1px solid rgba(255,255,255,.3);background-color:transparent}.app--auth .ftt-card{border:1px solid var(--glass-edge);background-color:#ffffff0f}.app--auth app-page-header h1{background-image:linear-gradient(90deg,var(--color-title-start),var(--color-title-end));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-size:30px;font-weight:800;line-height:36px}.ftt-spinner{display:inline-block;box-sizing:border-box;width:28px;height:28px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--color-primary);border-radius:50%;animation:ftt-spin .8s linear infinite}@keyframes ftt-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ftt-spinner{animation-duration:2s}}
