.loading-spinner__overlay{display:flex;justify-content:center;align-items:center;background-color:#0000004d;position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.loading-spinner__overlay.loading-spinner__fullscreen{position:fixed;width:100%;height:100%}.loading-spinner__box{background-color:#fff;border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 8px #00000040}.loading-spinner__spinner{width:40px;height:40px;border:4px solid;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner__spinner.loading-spinner__small{width:24px;height:24px;border-width:3px}.loading-spinner__spinner.loading-spinner__large{width:50px;height:50px;border-width:4px}.loading-spinner__message{margin:16px 0 0;font-size:14px;text-align:center;font-weight:400}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--button-primary-bg: var(--tt-primary);--button-primary-bg-hover: var(--tt-primary);--button-primary-text: #FFFFFF;--button-secondary-bg: transparent;--button-secondary-border: var(--tt-border);--button-secondary-text: var(--tt-text);--button-secondary-bg-hover: var(--tt-surface2);--button-danger-bg: var(--tt-danger);--button-danger-bg-hover: var(--tt-danger);--button-danger-text: #FFFFFF;--button-disabled-opacity: .45}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;cursor:pointer;font-weight:700;border-radius:999px;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;font-family:Inter,system-ui,sans-serif;letter-spacing:.01em;white-space:nowrap}.button:focus-visible{outline:2px solid var(--tt-primary);outline-offset:3px}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)}.button--primary{background-color:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--tt-primary);box-shadow:0 4px 16px #00000038}.button--primary:hover:not(:disabled){background-color:var(--button-primary-bg-hover);box-shadow:0 12px 40px #00000047}.button--secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--button-secondary-border)}.button--secondary:hover:not(:disabled){background-color:var(--button-secondary-bg-hover);box-shadow:0 4px 16px #0000002e}.button--danger{background-color:var(--button-danger-bg);color:var(--button-danger-text);border-color:transparent;box-shadow:0 4px 16px #c4545440}.button--danger:hover:not(:disabled){background-color:var(--button-danger-bg-hover)}.button--small{padding:7px 16px;min-height:36px;font-size:13px}.button--medium{padding:12px 24px;min-height:44px;font-size:14px}.button--large{padding:14px 32px;min-height:52px;font-size:16px}.button--full-width{width:100%}.button--disabled{opacity:var(--button-disabled-opacity);cursor:not-allowed}.button--disabled:hover{transform:none;box-shadow:none}.button--loading{position:relative;color:transparent}.button__spinner{position:absolute;width:16px;height:16px;border:2px solid var(--tt-text-muted);border-top-color:var(--tt-text);border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.button__icon{display:flex;align-items:center}.text-input__container{margin-bottom:16px;width:100%}.text-input__label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-text-muted);margin-bottom:8px}.text-input__wrapper{display:flex;align-items:center;border:1px solid var(--tt-border);border-radius:12px;padding:0 12px;background-color:var(--tt-surface);transition:border-color .15s ease,box-shadow .15s ease}.text-input__wrapper:focus-within{border-color:var(--tt-primary);box-shadow:0 0 0 3px #4d6a5233}.text-input--error .text-input__wrapper{border-color:var(--tt-danger)}.text-input--error .text-input__wrapper:focus-within{box-shadow:0 0 0 3px #c454542e}.text-input--success .text-input__wrapper{border-color:var(--tt-success)}.text-input--success .text-input__wrapper:focus-within{box-shadow:0 0 0 3px #2d9d642e}.text-input__input{flex:1;border:none;outline:none;padding:13px 8px;font-family:Inter,system-ui,sans-serif;font-size:15px;background-color:transparent;color:var(--tt-text);min-height:44px}.text-input__input::placeholder{color:var(--tt-text-muted)}.text-input__input:disabled{color:var(--tt-text-muted);cursor:not-allowed}.text-input--disabled .text-input__wrapper{opacity:.5}.text-input__left-icon{display:inline-flex;align-items:center;margin-right:8px;color:var(--tt-text-muted);flex-shrink:0;font-size:16px}.text-input__right-icon-button{display:inline-flex;align-items:center;padding:6px;background:transparent;border:none;cursor:pointer;color:var(--tt-text-muted);font-size:18px;transition:color .15s ease;flex-shrink:0}.text-input__right-icon-button:hover{color:var(--tt-text)}.text-input__error-text{display:block;font-size:12px;color:var(--tt-danger);margin-top:5px}.text-input__success-text{display:block;font-size:12px;color:var(--tt-success);margin-top:5px}:root{--tt-poker-black: #02080B;--tt-deep-table: #0A1512;--tt-table-green: #1A2A23;--tt-felt-green: #4D6A52;--tt-muted-felt: #6F8D70;--tt-chip-ivory: #EADFCF;--tt-soft-ivory: #F7F0E4;--tt-gold: #C6A96B;--tt-success: #2D9D64;--tt-risk: #C45454;--tt-warning: #D9A441;--tt-trust-blue: #4F7DA8;--tt-line: #24352F;--tt-bg: #02080B;--tt-surface: #0A1512;--tt-surface2: #1A2A23;--tt-text: #EADFCF;--tt-text-muted: #6F8D70;--tt-text-inverse: #0A1512;--tt-border: #24352F;--tt-border-strong: #4D6A52;--tt-primary: #4D6A52;--tt-primary-hover: #3A5040;--tt-card-bg: linear-gradient(180deg,rgba(26,42,35,.96) 0%,rgba(10,21,18,.96) 100%);--tt-card-bg-solid: #0A1512;--tt-card-border: #24352F;--tt-card-border-hover: #4D6A52;--tt-card-shadow: 0 12px 40px rgba(0,0,0,.28);--tt-card-shadow-hover: 0 20px 60px rgba(0,0,0,.36);--tt-input-bg: #0A1512;--tt-input-border: #24352F;--tt-input-text: #EADFCF;--tt-input-focus-glow: rgba(77,106,82,.2);--tt-font-ui: Inter, system-ui, sans-serif;--tt-font-display: "Space Grotesk", Inter, system-ui, sans-serif;--tt-radius-sm: 8px;--tt-radius-md: 12px;--tt-radius-lg: 20px;--tt-radius-xl: 28px;--tt-radius-pill: 999px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tt-bg, #02080B);color:var(--tt-text, #EADFCF);transition:background-color .25s ease,color .25s ease}[data-theme=light]{--tt-poker-black: #F7F0E4;--tt-deep-table: #FFFFFF;--tt-table-green: #EAF0EB;--tt-felt-green: #3A5A40;--tt-muted-felt: #4A6E4F;--tt-chip-ivory: #0A1512;--tt-soft-ivory: #1A2A23;--tt-line: #C8D8CA}[data-theme=light] body{background-color:#f7f0e4;color:#0a1512}[data-theme=dark] body{background-color:#02080b;color:#eadfcf}@media (prefers-color-scheme: dark){body:not([data-theme=light]){background-color:#02080b;color:#eadfcf}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;background-color:var(--tt-bg, #02080B);color:var(--tt-text, #EADFCF);transition:background-color .25s ease,color .25s ease}@media (max-width: 768px){html{font-size:14px}}@media (max-width: 480px){html{font-size:12px}}input[type=date]{color-scheme:dark;color:#eadfcf;accent-color:#4D6A52;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;margin-right:2px;opacity:1;filter:invert(.2)}input[type=date]::-moz-calendar-picker-indicator{cursor:pointer;filter:invert(.2)}[data-theme=dark] input[type=date]{color:#f5f5f5;color-scheme:dark;accent-color:#5eb876}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;margin-right:2px;opacity:1;filter:invert(.5)}[data-theme=dark] input[type=date]::-moz-calendar-picker-indicator{cursor:pointer;filter:invert(.5)}@media (prefers-color-scheme: dark){input[type=date]:not([data-theme=light]){color:#f5f5f5;color-scheme:dark;accent-color:#5eb876}input[type=date]:not([data-theme=light])::-webkit-calendar-picker-indicator{cursor:pointer;border-radius:4px;margin-right:2px;opacity:1;filter:invert(.5)}input[type=date]:not([data-theme=light])::-moz-calendar-picker-indicator{cursor:pointer;filter:invert(.5)}}
