:root{--tt-font-sans:var(--font-sans);--tt-font-brand:var(--font-sans);--tt-font-number:var(--font-sans);--tt-font-mono:var(--font-mono);--tt-black:#000;--tt-white:#fff;--tt-neutral-700:#1f1f1f;--tt-neutral-600:#4b4b4b;--tt-neutral-500:#8e8e8e;--tt-neutral-400:#cacaca;--tt-neutral-300:#e1e1e1;--tt-neutral-200:#eee;--tt-neutral-100:#f5f5f5;--tt-neutral-50:#fafafa;--tt-primary-700:#00abb6;--tt-primary-600:#15c5ce;--tt-primary-500:#47cfd6;--tt-primary-400:#7ddde1;--tt-primary-300:#b0ebec;--tt-primary-200:#dff7f7;--tt-primary-100:#eefcfc;--tt-primary-50:#f9ffff;--tt-auxiliary-700:#fe632f;--tt-auxiliary-600:#ff8156;--tt-auxiliary-500:#ffa487;--tt-auxiliary-400:#ffc8b6;--tt-auxiliary-300:#ffe1d6;--tt-auxiliary-200:#fff2ee;--tt-auxiliary-100:#fff6f3;--tt-auxiliary-50:#fffcfc;--tt-danger-700:#ec2d30;--tt-danger-600:#f64c4c;--tt-danger-500:#eb6f70;--tt-danger-400:#f49898;--tt-danger-300:#ffccd2;--tt-danger-200:#ffebee;--tt-danger-100:#fef2f2;--tt-danger-50:#fffbfb;--tt-warning-700:#fe9b0e;--tt-warning-600:#ffad0d;--tt-warning-500:#ffc62b;--tt-warning-400:#ffdd82;--tt-warning-300:#ffeab3;--tt-warning-200:#fff7e1;--tt-warning-100:#fff9ee;--tt-warning-50:#fffdfa;--tt-success-700:#0c9d61;--tt-success-600:#47b881;--tt-success-500:#6bc497;--tt-success-400:#97d4b4;--tt-success-300:#c0e5d1;--tt-success-200:#e5f5ec;--tt-success-100:#f2faf6;--tt-success-50:#fbfefc;--tt-info-700:#3a70e2;--tt-info-600:#3b82f6;--tt-info-500:#4ba1ff;--tt-info-400:#93c8ff;--tt-info-300:#bdddff;--tt-info-200:#e4f2ff;--tt-info-100:#f1f8ff;--tt-info-50:#f8fcff;--tt-color-primary:var(--tt-primary-600);--tt-color-primary-hover:var(--tt-primary-500);--tt-color-primary-active:var(--tt-primary-700);--tt-color-primary-bg:var(--tt-primary-100);--tt-color-primary-border:var(--tt-primary-300);--tt-text-title:#242424;--tt-text-primary:var(--tt-neutral-700);--tt-text-body:var(--tt-neutral-600);--tt-text-secondary:var(--tt-neutral-500);--tt-text-disabled:var(--tt-neutral-400);--tt-text-placeholder:var(--tt-neutral-400);--tt-text-on-color:var(--tt-white);--tt-text-link:var(--tt-primary-700);--tt-text-link-hover:var(--tt-primary-600);--tt-ink-90:rgba(0,0,0,.896);--tt-ink-65:rgba(0,0,0,.65);--tt-ink-45:rgba(0,0,0,.45);--tt-ink-25:rgba(0,0,0,.25);--tt-surface:var(--tt-white);--tt-surface-sunken:var(--tt-neutral-50);--tt-surface-hover:var(--tt-neutral-100);--tt-surface-active:var(--tt-neutral-200);--tt-surface-mask:rgba(0,0,0,.45);--tt-border:var(--tt-neutral-200);--tt-border-strong:var(--tt-neutral-300);--tt-border-hover:var(--tt-neutral-400);--tt-divider:#edebe9;--tt-danger-surface:var(--tt-danger-100);--tt-danger-line:var(--tt-danger-300);--tt-warning-surface:var(--tt-warning-100);--tt-warning-line:var(--tt-warning-300);--tt-success-surface:var(--tt-success-100);--tt-success-line:var(--tt-success-300);--tt-info-surface:var(--tt-info-100);--tt-info-line:var(--tt-info-300);--tt-font-size-h1:30px;--tt-font-size-h2:24px;--tt-font-size-h3:20px;--tt-font-size-title:18px;--tt-font-size-subtitle:16px;--tt-font-size-body:14px;--tt-font-size-caption:12px;--tt-font-size-display:64px;--tt-font-size-lg:16px;--tt-font-size-sm:12px;--tt-font-size-xs:10px;--tt-line-h1:38px;--tt-line-h2:32px;--tt-line-h3:28px;--tt-line-subtitle:24px;--tt-line-body:22px;--tt-weight-regular:400;--tt-weight-medium:500;--tt-weight-semibold:600;--tt-weight-bold:700}.tt-h1{font:var(--tt-weight-medium) var(--tt-font-size-h1)/var(--tt-line-h1) var(--tt-font-sans)}.tt-h1,.tt-h2{color:var(--tt-text-title);margin:0}.tt-h2{font:var(--tt-weight-medium) var(--tt-font-size-h2)/var(--tt-line-h2) var(--tt-font-sans)}.tt-h3{font:var(--tt-weight-medium) var(--tt-font-size-h3)/var(--tt-line-h3) var(--tt-font-sans)}.tt-h3,.tt-title{color:var(--tt-text-title);margin:0}.tt-title{font:var(--tt-weight-medium) var(--tt-font-size-title)/var(--tt-line-title) var(--tt-font-sans)}.tt-subtitle{font:var(--tt-weight-regular) var(--tt-font-size-subtitle)/var(--tt-line-subtitle) var(--tt-font-sans)}.tt-body,.tt-subtitle{color:var(--tt-text-body);margin:0}.tt-body{font:var(--tt-weight-regular) var(--tt-font-size-body)/var(--tt-line-body) var(--tt-font-sans)}.tt-caption{font:var(--tt-weight-regular) var(--tt-font-size-caption)/var(--tt-line-caption) var(--tt-font-sans);color:var(--tt-text-secondary);margin:0}:root{--tt-space-0:0;--tt-space-1:4px;--tt-space-2:8px;--tt-space-3:12px;--tt-space-4:16px;--tt-space-5:24px;--tt-space-6:32px;--tt-space-7:48px;--tt-space-8:64px;--tt-space-9:96px;--tt-radius-xs:2px;--tt-radius-sm:4px;--tt-radius-md:8px;--tt-radius-lg:12px;--tt-radius-xl:16px;--tt-radius-pill:100px;--tt-radius-page:30px;--tt-control-h-sm:24px;--tt-control-h-md:32px;--tt-control-h-lg:40px;--tt-ring:0 0 0 3px rgba(21,197,206,.2);--tt-ring-danger:0 0 0 3px rgba(246,76,76,.2);--tt-shadow-1:0px 1px 1px 0px rgba(0,0,0,.02),0px 2px 4px 0px rgba(0,0,0,.04);--tt-shadow-2:0px 1px 4px 0px rgba(0,0,0,.04),0px 4px 10px 0px rgba(0,0,0,.08);--tt-shadow-3:0px 2px 20px 0px rgba(0,0,0,.04),0px 8px 32px 0px rgba(0,0,0,.08);--tt-shadow-4:0px 8px 20px 0px rgba(0,0,0,.06),0px 24px 60px 0px rgba(0,0,0,.12);--tt-shadow-card:var(--tt-shadow-1);--tt-shadow-dropdown:var(--tt-shadow-2);--tt-shadow-popover:var(--tt-shadow-3);--tt-shadow-modal:var(--tt-shadow-4)}a{color:var(--tt-text-link);text-decoration:none}a:hover{color:var(--tt-text-link-hover);text-decoration:underline}@keyframes tt-spin{to{transform:rotate(1turn)}}.tt-font{font-family:var(--tt-font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tt-spin{animation:tt-spin 1s linear infinite}.tt-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;box-sizing:border-box;margin:0;border:1px solid transparent;border-radius:var(--tt-radius-sm);font-family:var(--tt-font-sans);font-weight:var(--tt-weight-medium);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;vertical-align:middle}.tt-btn:focus-visible{outline:none;box-shadow:var(--tt-ring)}.tt-btn__icon{display:inline-flex;align-items:center;justify-content:center}.tt-btn--block{width:100%}.tt-btn.is-loading{pointer-events:none}.tt-btn.is-loading .tt-btn__icon svg{animation:tt-spin 1s linear infinite}.tt-btn--sm{height:24px;padding:0 8px;font-size:var(--tt-font-size-caption);min-width:48px}.tt-btn--md{height:36px;padding:0 16px;font-size:var(--tt-font-size-body);min-width:64px}.tt-btn--lg{height:40px;padding:0 16px;font-size:var(--tt-font-size-subtitle);min-width:80px}.tt-btn--link.tt-btn--lg,.tt-btn--link.tt-btn--md,.tt-btn--link.tt-btn--sm{min-width:0;height:auto}.tt-btn--primary{background:var(--tt-primary-600);color:var(--tt-white)}.tt-btn--primary:hover{background:var(--tt-primary-500)}.tt-btn--primary:active{background:var(--tt-primary-700)}.tt-btn--primary:disabled{background:var(--tt-neutral-200);color:var(--tt-neutral-400);cursor:not-allowed}.tt-btn--secondary{background:var(--tt-white);color:var(--tt-text-body);border-color:var(--tt-border-strong)}.tt-btn--secondary:hover{color:var(--tt-primary-600);border-color:var(--tt-primary-600)}.tt-btn--secondary:active{color:var(--tt-primary-700);border-color:var(--tt-primary-700)}.tt-btn--secondary:disabled{background:var(--tt-neutral-100);color:var(--tt-neutral-400);border-color:var(--tt-border);cursor:not-allowed}.tt-btn--dashed{background:var(--tt-white);color:var(--tt-text-body);border-color:var(--tt-border-strong);border-style:dashed}.tt-btn--dashed:hover{color:var(--tt-primary-600);border-color:var(--tt-primary-600)}.tt-btn--dashed:disabled{background:var(--tt-neutral-100);color:var(--tt-neutral-400);border-color:var(--tt-border);cursor:not-allowed}.tt-btn--ghost{background:transparent;color:var(--tt-text-body)}.tt-btn--ghost:hover{background:var(--tt-neutral-100)}.tt-btn--ghost:active{background:var(--tt-neutral-200)}.tt-btn--ghost:disabled{color:var(--tt-neutral-400);background:transparent;cursor:not-allowed}.tt-btn--text{background:transparent;color:var(--tt-text-body)}.tt-btn--text:hover{color:var(--tt-primary-600)}.tt-btn--text:active{color:var(--tt-primary-700)}.tt-btn--text:disabled{color:var(--tt-neutral-400);cursor:not-allowed}.tt-btn--link{background:transparent;color:var(--tt-text-link);height:auto;padding:0;border:none}.tt-btn--link:hover{color:var(--tt-text-link-hover)}.tt-btn--link:disabled{color:var(--tt-neutral-400);cursor:not-allowed}.tt-btn--danger.tt-btn--primary{background:var(--tt-danger-600)}.tt-btn--danger.tt-btn--primary:hover{background:var(--tt-danger-500)}.tt-btn--danger.tt-btn--primary:active{background:var(--tt-danger-700)}.tt-btn--danger.tt-btn--dashed,.tt-btn--danger.tt-btn--secondary{color:var(--tt-danger-600);border-color:var(--tt-danger-300)}.tt-btn--danger.tt-btn--dashed:hover,.tt-btn--danger.tt-btn--secondary:hover{color:var(--tt-danger-700);border-color:var(--tt-danger-600)}.tt-btn--danger.tt-btn--ghost,.tt-btn--danger.tt-btn--link,.tt-btn--danger.tt-btn--text{color:var(--tt-danger-600)}.tt-btn--danger.tt-btn--ghost:hover{background:var(--tt-danger-100)}.tt-icon-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;padding:0;border:1px solid transparent;background:transparent;color:var(--tt-text-body);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.tt-icon-btn:focus-visible{outline:none;box-shadow:var(--tt-ring)}.tt-icon-btn--circle{border-radius:var(--tt-radius-pill)}.tt-icon-btn--square{border-radius:var(--tt-radius-sm)}.tt-icon-btn--sm{width:24px;height:24px}.tt-icon-btn--md{width:36px;height:36px}.tt-icon-btn--lg{width:40px;height:40px}.tt-icon-btn--ghost:hover{background:var(--tt-neutral-100);border-color:var(--tt-border-strong)}.tt-icon-btn--ghost:active{background:var(--tt-neutral-200)}.tt-icon-btn--filled{background:var(--tt-primary-600);color:var(--tt-white)}.tt-icon-btn--filled:hover{background:var(--tt-primary-500)}.tt-icon-btn--filled:active{background:var(--tt-primary-700)}.tt-icon-btn--outline{background:var(--tt-white);border-color:var(--tt-border-strong)}.tt-icon-btn--outline:hover{color:var(--tt-primary-600);border-color:var(--tt-primary-600)}.tt-icon-btn:disabled{color:var(--tt-neutral-400);background:transparent;border-color:var(--tt-border);cursor:not-allowed}.tt-link{display:inline-flex;align-items:center;gap:4px;color:var(--tt-text-link);font-family:var(--tt-font-sans);cursor:pointer;text-decoration:none;transition:color .15s ease;background:none;border:none;padding:0}.tt-link:hover{color:var(--tt-text-link-hover);text-decoration:underline}.tt-link--sm{font-size:var(--tt-font-size-caption)}.tt-link--md{font-size:var(--tt-font-size-body)}.tt-link--lg{font-size:var(--tt-font-size-subtitle)}.tt-link--muted{color:var(--tt-text-body)}.tt-link--muted:hover{color:var(--tt-primary-600)}.tt-link.is-disabled{color:var(--tt-neutral-400);cursor:not-allowed;text-decoration:none;pointer-events:none}.tt-switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0;border:none;padding:0;cursor:pointer;background:var(--tt-neutral-300);border-radius:var(--tt-radius-pill);transition:background-color .2s ease;vertical-align:middle}.tt-switch__thumb{position:absolute;top:2px;left:2px;background:var(--tt-white);border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:left .2s ease}.tt-switch--md{width:44px;height:24px}.tt-switch--md .tt-switch__thumb{width:20px;height:20px}.tt-switch--md.is-checked .tt-switch__thumb{left:22px}.tt-switch--sm{width:36px;height:20px}.tt-switch--sm .tt-switch__thumb{width:16px;height:16px}.tt-switch--sm.is-checked .tt-switch__thumb{left:18px}.tt-switch.is-checked{background:var(--tt-primary-600)}.tt-switch:focus-visible{outline:none;box-shadow:var(--tt-ring)}.tt-switch:disabled{cursor:not-allowed;background:var(--tt-neutral-200)}.tt-switch:disabled.is-checked{background:var(--tt-primary-300)}.tt-field{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;background:var(--tt-white);border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);color:var(--tt-text-body);transition:border-color .15s ease,box-shadow .15s ease;cursor:text}.tt-field--sm{height:24px;padding:0 8px;font-size:var(--tt-font-size-caption)}.tt-field--md{height:32px;padding:0 12px;font-size:var(--tt-font-size-body)}.tt-field--lg{height:40px;padding:0 12px;font-size:var(--tt-font-size-subtitle)}.tt-field:hover{border-color:var(--tt-border-hover)}.tt-field.is-focused{border-color:var(--tt-primary-600);box-shadow:var(--tt-ring)}.tt-field.is-error{border-color:var(--tt-danger-600)}.tt-field.is-error.is-focused{box-shadow:var(--tt-ring-danger)}.tt-field.is-disabled{background:var(--tt-neutral-100);border-color:var(--tt-border);color:var(--tt-neutral-400);cursor:not-allowed}.tt-field__affix{display:inline-flex;align-items:center;color:var(--tt-text-secondary);flex-shrink:0}.tt-field__input{border:none;outline:none;background:transparent;padding:0;margin:0;font:inherit;color:inherit;width:100%;min-width:0;flex:1 1}.tt-field__input::placeholder{color:var(--tt-text-placeholder)}.tt-field__input:disabled{cursor:not-allowed}.tt-field__clear{display:inline-flex;cursor:pointer;color:var(--tt-neutral-400);flex-shrink:0}.tt-field__clear:hover{color:var(--tt-text-secondary)}.tt-textarea{display:block;box-sizing:border-box;width:100%;background:var(--tt-white);border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);color:var(--tt-text-body);font-family:var(--tt-font-sans);font-size:var(--tt-font-size-body);line-height:var(--tt-line-body);padding:6px 12px;resize:vertical;min-height:64px;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.tt-textarea::placeholder{color:var(--tt-text-placeholder)}.tt-textarea:hover{border-color:var(--tt-border-hover)}.tt-textarea:focus{border-color:var(--tt-primary-600);box-shadow:var(--tt-ring)}.tt-textarea:disabled{background:var(--tt-neutral-100);color:var(--tt-neutral-400);cursor:not-allowed}.tt-checkbox{gap:8px;cursor:pointer;font-size:var(--tt-font-size-body);color:var(--tt-text-body);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tt-checkbox,.tt-checkbox__box{display:inline-flex;align-items:center}.tt-checkbox__box{width:16px;height:16px;flex-shrink:0;border:1px solid var(--tt-border-hover);border-radius:var(--tt-radius-xs);background:var(--tt-white);justify-content:center;color:var(--tt-white);transition:all .15s ease}.tt-checkbox:hover .tt-checkbox__box{border-color:var(--tt-primary-600)}.tt-checkbox.is-checked .tt-checkbox__box,.tt-checkbox.is-indeterminate .tt-checkbox__box{background:var(--tt-primary-600);border-color:var(--tt-primary-600)}.tt-checkbox__box svg{display:block}.tt-checkbox.is-disabled{color:var(--tt-neutral-400);cursor:not-allowed}.tt-checkbox.is-disabled .tt-checkbox__box{background:var(--tt-neutral-100);border-color:var(--tt-border-strong)}.tt-checkbox.is-disabled.is-checked .tt-checkbox__box{background:var(--tt-primary-300);border-color:var(--tt-primary-300)}.tt-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--tt-font-size-body);color:var(--tt-text-body);-webkit-user-select:none;-moz-user-select:none;user-select:none}.tt-radio__dot{width:16px;height:16px;flex-shrink:0;border:1px solid var(--tt-border-hover);border-radius:50%;background:var(--tt-white);position:relative;transition:all .15s ease}.tt-radio:hover .tt-radio__dot{border-color:var(--tt-primary-600)}.tt-radio.is-checked .tt-radio__dot{border-color:var(--tt-primary-600);border-width:5px}.tt-radio.is-disabled{color:var(--tt-neutral-400);cursor:not-allowed}.tt-radio.is-disabled .tt-radio__dot{background:var(--tt-neutral-100);border-color:var(--tt-border-strong)}.tt-radio-group{display:inline-flex}.tt-radio-group--pill .tt-radio-btn{border:1px solid var(--tt-border-strong);border-left-width:0;padding:0 16px;height:32px;display:inline-flex;align-items:center;background:var(--tt-white);color:var(--tt-text-body);cursor:pointer;font-size:var(--tt-font-size-body)}.tt-radio-group--pill .tt-radio-btn:first-child{border-left-width:1px;border-radius:var(--tt-radius-sm) 0 0 var(--tt-radius-sm)}.tt-radio-group--pill .tt-radio-btn:last-child{border-radius:0 var(--tt-radius-sm) var(--tt-radius-sm) 0}.tt-radio-group--pill .tt-radio-btn.is-active{color:var(--tt-primary-600);border-color:var(--tt-primary-600);background:var(--tt-primary-100);z-index:1}.tt-select__menu{background:var(--tt-white);border-radius:var(--tt-radius-md);box-shadow:var(--tt-shadow-dropdown);padding:4px;min-width:160px;max-height:264px;overflow-y:auto}.tt-select__opt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-radius:var(--tt-radius-sm);font-size:var(--tt-font-size-body);color:var(--tt-text-body);cursor:pointer}.tt-select__opt:hover{background:var(--tt-neutral-100)}.tt-select__opt.is-selected{background:var(--tt-primary-100);color:var(--tt-primary-700);font-weight:var(--tt-weight-medium)}.tt-select__opt.is-disabled{color:var(--tt-neutral-400);cursor:not-allowed;background:transparent}.tt-field__chevron{transition:transform .2s ease;color:var(--tt-text-secondary);flex-shrink:0}.tt-field.is-open .tt-field__chevron{transform:rotate(180deg)}.tt-field--select,.tt-slider{cursor:pointer}.tt-slider{position:relative;height:20px;display:flex;align-items:center;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tt-slider__rail{right:0;background:var(--tt-neutral-200)}.tt-slider__fill,.tt-slider__rail{position:absolute;left:0;height:4px;border-radius:2px}.tt-slider__fill{background:var(--tt-primary-600)}.tt-slider__handle{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--tt-white);border:2px solid var(--tt-primary-600);transform:translateX(-50%);box-shadow:0 1px 3px rgba(0,0,0,.12);transition:box-shadow .15s ease}.tt-slider.is-dragging .tt-slider__handle,.tt-slider__handle:hover{box-shadow:var(--tt-ring)}.tt-slider.is-disabled{cursor:not-allowed}.tt-slider.is-disabled .tt-slider__fill{background:var(--tt-neutral-400)}.tt-slider.is-disabled .tt-slider__handle{border-color:var(--tt-neutral-400)}.tt-form-item{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.tt-form-item--inline{flex-direction:row;align-items:flex-start;gap:16px}.tt-form-item__label{font-size:var(--tt-font-size-body);color:var(--tt-text-primary);font-weight:var(--tt-weight-medium);display:inline-flex;align-items:center;gap:4px}.tt-form-item--inline .tt-form-item__label{width:96px;flex-shrink:0;height:32px;align-items:center;justify-content:flex-end}.tt-form-item__req{color:var(--tt-danger-600)}.tt-form-item__control{flex:1 1;min-width:0}.tt-help-text{display:inline-flex;align-items:center;gap:4px;font-size:var(--tt-font-size-caption);line-height:var(--tt-line-caption)}.tt-help-text--neutral{color:var(--tt-text-secondary)}.tt-help-text--error{color:var(--tt-danger-600)}.tt-help-text--success{color:var(--tt-success-700)}.tt-help-text--warning{color:var(--tt-warning-700)}.tt-breadcrumb{flex-wrap:wrap;font-size:var(--tt-font-size-body)}.tt-breadcrumb,.tt-breadcrumb__item{display:inline-flex;align-items:center;color:var(--tt-text-secondary)}.tt-breadcrumb__item{gap:4px;text-decoration:none}.tt-breadcrumb__item:hover{color:var(--tt-primary-600)}.tt-breadcrumb__item.is-current{color:var(--tt-text-primary);font-weight:var(--tt-weight-medium);pointer-events:none}.tt-breadcrumb__sep{margin:0 8px;color:var(--tt-neutral-400);display:inline-flex}.tt-tabs__nav{display:flex;gap:24px;border-bottom:1px solid var(--tt-border)}.tt-tab{position:relative;padding:10px 0;font-size:var(--tt-font-size-body);color:var(--tt-text-body);cursor:pointer;margin-bottom:-1px;transition:color .15s ease;white-space:nowrap;background:none;border:none;border-bottom:2px solid transparent;font-family:var(--tt-font-sans);display:inline-flex;align-items:center;gap:6px}.tt-tab.is-active,.tt-tab:hover{color:var(--tt-primary-600)}.tt-tab.is-active{border-bottom-color:var(--tt-primary-600);font-weight:var(--tt-weight-medium)}.tt-tab.is-disabled,.tt-tab:disabled{color:var(--tt-neutral-400);cursor:not-allowed}.tt-tabs--card .tt-tabs__nav{gap:4px;border-bottom:1px solid var(--tt-border)}.tt-tabs--card .tt-tab{padding:8px 16px;border:1px solid var(--tt-border);border-bottom:none;border-radius:var(--tt-radius-sm) var(--tt-radius-sm) 0 0;background:var(--tt-neutral-50);margin-bottom:-1px}.tt-tabs--card .tt-tab.is-active{background:var(--tt-white);color:var(--tt-primary-600);border-color:var(--tt-border)}.tt-steps{display:flex;width:100%}.tt-step{display:flex;align-items:flex-start;gap:10px;flex:1 1}.tt-step:last-child{flex:0 0 auto}.tt-step__marker{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--tt-font-size-caption);font-weight:var(--tt-weight-medium);border:1px solid var(--tt-border-strong);background:var(--tt-white);color:var(--tt-text-secondary)}.tt-step__body{display:flex;flex-direction:column}.tt-step__title{font-size:var(--tt-font-size-body);color:var(--tt-text-primary);font-weight:var(--tt-weight-medium);line-height:24px}.tt-step__desc{font-size:var(--tt-font-size-caption);color:var(--tt-text-secondary)}.tt-step__line{flex:1 1;height:1px;background:var(--tt-border-strong);margin:12px 8px 0;min-width:24px}.tt-step--process .tt-step__marker{background:var(--tt-primary-600);border-color:var(--tt-primary-600);color:var(--tt-white)}.tt-step--finish .tt-step__marker{border-color:var(--tt-primary-600);color:var(--tt-primary-600);background:var(--tt-primary-100)}.tt-step--finish .tt-step__line,.tt-step--finish+.tt-step .tt-step__line{background:var(--tt-primary-600)}.tt-step--error .tt-step__marker{background:var(--tt-danger-600);border-color:var(--tt-danger-600);color:var(--tt-white)}.tt-step--finish .tt-step__title,.tt-step--process .tt-step__title{color:var(--tt-text-primary)}.tt-step--wait .tt-step__title{color:var(--tt-text-secondary)}.tt-pagination{gap:6px}.tt-page,.tt-pagination{display:inline-flex;align-items:center}.tt-page{min-width:32px;height:32px;padding:0 6px;border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);background:var(--tt-white);color:var(--tt-text-body);font-size:var(--tt-font-size-body);cursor:pointer;justify-content:center;transition:color .15s,border-color .15s;font-family:var(--tt-font-sans)}.tt-page:hover{color:var(--tt-primary-600)}.tt-page.is-active,.tt-page:hover{border-color:var(--tt-primary-600)}.tt-page.is-active{color:var(--tt-white);background:var(--tt-primary-600)}.tt-page:disabled{color:var(--tt-neutral-400);border-color:var(--tt-border);cursor:not-allowed}.tt-page--ellipsis{border:none;background:none;cursor:default;color:var(--tt-text-secondary)}.tt-anchor{display:flex;flex-direction:column;border-left:1px solid var(--tt-border)}.tt-anchor__link{padding:4px 16px;color:var(--tt-text-body);text-decoration:none;font-size:var(--tt-font-size-body);border-left:2px solid transparent;margin-left:-1px;transition:color .15s}.tt-anchor__link.is-active,.tt-anchor__link:hover{color:var(--tt-primary-600)}.tt-anchor__link.is-active{border-left-color:var(--tt-primary-600);font-weight:var(--tt-weight-medium)}.tt-menu{background:var(--tt-white);border-radius:var(--tt-radius-md);box-shadow:var(--tt-shadow-dropdown);padding:4px;min-width:168px}.tt-menu__item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--tt-radius-sm);font-size:var(--tt-font-size-body);color:var(--tt-text-body);cursor:pointer;white-space:nowrap}.tt-menu__item:hover{background:var(--tt-neutral-100)}.tt-menu__item.is-danger{color:var(--tt-danger-600)}.tt-menu__item.is-danger:hover{background:var(--tt-danger-100)}.tt-menu__item.is-disabled{color:var(--tt-neutral-400);cursor:not-allowed;background:transparent}.tt-menu__divider{height:1px;background:var(--tt-border);margin:4px 0}.tt-alert{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:var(--tt-radius-sm);border:1px solid transparent;font-size:var(--tt-font-size-body);line-height:var(--tt-line-body)}.tt-alert__icon{display:inline-flex;flex-shrink:0;margin-top:3px}.tt-alert__body{flex:1 1;min-width:0}.tt-alert__title{font-weight:var(--tt-weight-medium);color:var(--tt-text-primary);margin-bottom:2px}.tt-alert__msg{color:var(--tt-text-body)}.tt-alert__action{flex-shrink:0;margin-left:8px}.tt-alert__close{flex-shrink:0;cursor:pointer;color:var(--tt-neutral-400);display:inline-flex;margin-top:3px}.tt-alert__close:hover{color:var(--tt-text-secondary)}.tt-alert--info{background:var(--tt-info-100);border-color:var(--tt-info-200)}.tt-alert--info .tt-alert__icon{color:var(--tt-info-600)}.tt-alert--success{background:var(--tt-success-100);border-color:var(--tt-success-200)}.tt-alert--success .tt-alert__icon{color:var(--tt-success-600)}.tt-alert--warning{background:var(--tt-warning-100);border-color:var(--tt-warning-200)}.tt-alert--warning .tt-alert__icon{color:var(--tt-warning-600)}.tt-alert--danger{background:var(--tt-danger-100);border-color:var(--tt-danger-200)}.tt-alert--danger .tt-alert__icon{color:var(--tt-danger-600)}.tt-modal-mask{position:fixed;inset:0;background:var(--tt-surface-mask);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.tt-modal{background:var(--tt-white);border-radius:var(--tt-radius-xl);box-shadow:var(--tt-shadow-modal);max-width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.tt-modal__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px}.tt-modal__title{font-size:var(--tt-font-size-h3);font-weight:var(--tt-weight-medium);color:var(--tt-text-primary)}.tt-modal__close{cursor:pointer;color:var(--tt-neutral-400);display:inline-flex}.tt-modal__close:hover{color:var(--tt-text-secondary)}.tt-modal__body{padding:0 24px 8px;overflow-y:auto;color:var(--tt-text-body);font-size:var(--tt-font-size-body);line-height:var(--tt-line-body)}.tt-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px 20px}.tt-drawer-mask{position:fixed;inset:0;background:var(--tt-surface-mask);z-index:1000}.tt-drawer{position:fixed;top:0;bottom:0;width:380px;max-width:92vw;background:var(--tt-white);box-shadow:var(--tt-shadow-modal);z-index:1001;display:flex;flex-direction:column}.tt-drawer--right{right:0}.tt-drawer--left{left:0}.tt-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--tt-border)}.tt-drawer__title{font-size:var(--tt-font-size-subtitle);font-weight:var(--tt-weight-medium);color:var(--tt-text-primary)}.tt-drawer__body{flex:1 1;overflow-y:auto;padding:20px 24px;color:var(--tt-text-body);font-size:var(--tt-font-size-body)}.tt-drawer__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--tt-border)}.tt-message{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--tt-radius-md);background:var(--tt-white);box-shadow:var(--tt-shadow-popover);font-size:var(--tt-font-size-body);color:var(--tt-text-body)}.tt-message__icon{display:inline-flex;flex-shrink:0}.tt-message__icon--info{color:var(--tt-info-600)}.tt-message__icon--success{color:var(--tt-success-600)}.tt-message__icon--warning{color:var(--tt-warning-600)}.tt-message__icon--error{color:var(--tt-danger-600)}.tt-result{text-align:center;padding:32px 24px}.tt-result__icon{display:inline-flex;margin-bottom:16px}.tt-result__title{font-size:var(--tt-font-size-h3);font-weight:var(--tt-weight-medium);color:var(--tt-text-primary);margin-bottom:6px}.tt-result__subtitle{font-size:var(--tt-font-size-body);color:var(--tt-text-secondary);max-width:440px;margin:0 auto}.tt-result__extra{margin-top:20px;display:flex;gap:12px;justify-content:center}.tt-progress__rail{flex:1 1;background:var(--tt-neutral-200);border-radius:var(--tt-radius-pill);overflow:hidden}.tt-progress__fill{border-radius:var(--tt-radius-pill);transition:width .3s ease}.tt-progress__text{color:var(--tt-text-secondary);min-width:36px;text-align:right;justify-content:flex-end}.tt-progress__text,.tt-tag{font-size:var(--tt-font-size-caption);display:inline-flex;align-items:center}.tt-tag{gap:4px;height:24px;padding:0 8px;border-radius:var(--tt-radius-sm);line-height:1;border:1px solid transparent;white-space:nowrap;box-sizing:border-box}.tt-tag--sm{height:20px;padding:0 6px}.tt-tag--default{background:var(--tt-neutral-100);color:var(--tt-neutral-600);border-color:var(--tt-neutral-200)}.tt-tag--primary{background:var(--tt-primary-100);color:var(--tt-primary-700);border-color:var(--tt-primary-200)}.tt-tag--success{background:var(--tt-success-100);color:var(--tt-success-700);border-color:var(--tt-success-200)}.tt-tag--warning{background:var(--tt-warning-100);color:var(--tt-warning-700);border-color:var(--tt-warning-200)}.tt-tag--danger{background:var(--tt-danger-100);color:var(--tt-danger-700);border-color:var(--tt-danger-200)}.tt-tag--info{background:var(--tt-info-100);color:var(--tt-info-700);border-color:var(--tt-info-200)}.tt-tag__close{display:inline-flex;cursor:pointer;opacity:.55}.tt-tag__close:hover{opacity:1}.tt-tag--checkable{cursor:pointer;background:var(--tt-white);color:var(--tt-text-body);border-color:var(--tt-border-strong)}.tt-tag--checkable:hover{color:var(--tt-primary-600);border-color:var(--tt-primary-600)}.tt-tag--checkable.is-checked{background:var(--tt-primary-600);color:var(--tt-white);border-color:var(--tt-primary-600)}.tt-badge{position:relative;display:inline-flex}.tt-badge__sup{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:center;box-sizing:border-box;z-index:1}.tt-badge__count{min-width:16px;height:16px;padding:0 5px;border-radius:var(--tt-radius-pill);color:var(--tt-white);font-size:10px;line-height:16px;text-align:center;font-family:var(--tt-font-sans)}.tt-badge__count,.tt-badge__dot{background:var(--tt-danger-600);box-shadow:0 0 0 1px var(--tt-white)}.tt-badge__dot{width:8px;height:8px;border-radius:50%}.tt-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--tt-font-size-body);color:var(--tt-text-body)}.tt-status__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.tt-status--default .tt-status__dot{background:var(--tt-neutral-400)}.tt-status--processing .tt-status__dot{background:var(--tt-info-600)}.tt-status--success .tt-status__dot{background:var(--tt-success-600)}.tt-status--warning .tt-status__dot{background:var(--tt-warning-600)}.tt-status--error .tt-status__dot{background:var(--tt-danger-600)}.tt-avatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--tt-neutral-200);color:var(--tt-neutral-600);font-family:var(--tt-font-sans);font-weight:var(--tt-weight-medium);flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tt-avatar img{width:100%;height:100%;object-fit:cover;display:block}.tt-avatar--circle{border-radius:50%}.tt-avatar--square{border-radius:var(--tt-radius-md)}.tt-avatar--xs{width:24px;height:24px;font-size:12px}.tt-avatar--sm{width:32px;height:32px;font-size:14px}.tt-avatar--md{width:40px;height:40px;font-size:16px}.tt-avatar--lg{width:64px;height:64px;font-size:24px}.tt-avatar--brand{background:var(--tt-primary-100);color:var(--tt-primary-700)}.tt-avatar-group{display:inline-flex}.tt-avatar-group .tt-avatar{box-shadow:0 0 0 2px var(--tt-white);margin-left:-8px}.tt-avatar-group .tt-avatar:first-child{margin-left:0}.tt-card{background:var(--tt-white);border-radius:var(--tt-radius-md);box-sizing:border-box}.tt-card--bordered{border:1px solid var(--tt-border)}.tt-card--shadow{box-shadow:var(--tt-shadow-card)}.tt-card--hoverable{transition:box-shadow .2s ease,border-color .2s ease;cursor:pointer}.tt-card--hoverable:hover{box-shadow:var(--tt-shadow-2);border-color:transparent}.tt-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--tt-border)}.tt-card__title{font-size:var(--tt-font-size-subtitle);font-weight:var(--tt-weight-medium);color:var(--tt-text-primary)}.tt-card__body{padding:20px}.tt-table-wrap{border:1px solid var(--tt-border);border-radius:var(--tt-radius-md);overflow:hidden}.tt-table{width:100%;border-collapse:collapse;font-size:var(--tt-font-size-body);color:var(--tt-text-body);background:var(--tt-white)}.tt-table th{text-align:left;font-weight:var(--tt-weight-medium);color:var(--tt-text-primary);background:var(--tt-neutral-50);padding:11px 16px;white-space:nowrap}.tt-table td,.tt-table th{border-bottom:1px solid var(--tt-border)}.tt-table td{padding:13px 16px}.tt-table tbody-hover tr:hover td,.tt-table tr:hover td{background:var(--tt-neutral-50)}.tt-table tbody tr:last-child td{border-bottom:none}.tt-table--compact th{padding:7px 12px}.tt-table--compact td{padding:8px 12px}.tt-pop-anchor{position:relative;display:inline-flex}.tt-tooltip{background:var(--tt-neutral-700);color:var(--tt-white);font-size:var(--tt-font-size-caption);line-height:var(--tt-line-caption);padding:6px 10px;border-radius:var(--tt-radius-sm);max-width:240px;pointer-events:none;white-space:normal}.tt-popover,.tt-tooltip{position:absolute;z-index:60;box-shadow:var(--tt-shadow-popover)}.tt-popover{background:var(--tt-white);color:var(--tt-text-body);border-radius:var(--tt-radius-md);padding:12px 16px;min-width:180px;max-width:320px}.tt-popover__title{font-size:var(--tt-font-size-body);font-weight:var(--tt-weight-medium);color:var(--tt-text-primary);margin-bottom:6px}.tt-pop--top{bottom:calc(100% + 8px)}.tt-pop--bottom,.tt-pop--top{left:50%;transform:translateX(-50%)}.tt-pop--bottom{top:calc(100% + 8px)}.tt-pop--left{right:calc(100% + 8px)}.tt-pop--left,.tt-pop--right{top:50%;transform:translateY(-50%)}.tt-pop--right{left:calc(100% + 8px)}.tt-approval{display:inline-flex;align-items:center;gap:6px;font-size:var(--tt-font-size-body);font-weight:var(--tt-weight-medium)}.tt-approval--pill{padding:2px 10px;border-radius:var(--tt-radius-pill);font-size:var(--tt-font-size-caption)}.tt-approval--draft{color:var(--tt-neutral-600)}.tt-approval--review{color:var(--tt-info-700)}.tt-approval--approved{color:var(--tt-success-700)}.tt-approval--pending{color:var(--tt-warning-700)}.tt-approval--rejected{color:var(--tt-danger-700)}.tt-approval--pill.tt-approval--draft{background:var(--tt-neutral-100)}.tt-approval--pill.tt-approval--review{background:var(--tt-info-100)}.tt-approval--pill.tt-approval--approved{background:var(--tt-success-100)}.tt-approval--pill.tt-approval--pending{background:var(--tt-warning-100)}.tt-approval--pill.tt-approval--rejected{background:var(--tt-danger-100)}.tt-filter-item{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 8px;border:1px solid var(--tt-border-strong);border-radius:var(--tt-radius-sm);background:var(--tt-white);color:var(--tt-text-body);font-size:var(--tt-font-size-body);cursor:pointer;transition:border-color .15s ease,color .15s ease}.tt-filter-item:hover{border-color:var(--tt-primary-600);color:var(--tt-primary-600)}.tt-filter-item.is-active{border-color:var(--tt-primary-600);color:var(--tt-primary-700);background:var(--tt-primary-100)}.tt-filter-item__key{color:var(--tt-text-secondary)}.tt-filter-item.is-active .tt-filter-item__key{color:var(--tt-primary-600)}.tt-filter-item__drag{color:var(--tt-neutral-400);cursor:-webkit-grab;cursor:grab;display:inline-flex}.tt-btn-group{display:inline-flex}.tt-btn-group>.tt-btn{border-radius:0;margin-left:-1px}.tt-btn-group>.tt-btn:first-child{border-radius:var(--tt-radius-sm) 0 0 var(--tt-radius-sm);margin-left:0}.tt-btn-group>.tt-btn:last-child{border-radius:0 var(--tt-radius-sm) var(--tt-radius-sm) 0}.tt-btn-group>.tt-btn:hover{z-index:1}.tt-upload__dropzone{border:1px dashed var(--tt-border-strong);border-radius:var(--tt-radius-md);background:var(--tt-neutral-50);padding:24px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.tt-upload__dropzone:hover{border-color:var(--tt-primary-600);background:var(--tt-primary-50)}.tt-upload__zicon{color:var(--tt-primary-600)}.tt-upload__title{font-size:var(--tt-font-size-body);color:var(--tt-text-body);margin-top:8px}.tt-upload__hint{font-size:var(--tt-font-size-caption);color:var(--tt-text-secondary);margin-top:4px}.tt-upload__list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tt-upload__file{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--tt-border);border-radius:var(--tt-radius-sm);font-size:var(--tt-font-size-body)}.tt-upload__file .name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tt-text-body)}.tt-upload__file .meta{color:var(--tt-text-secondary);font-size:var(--tt-font-size-caption)}.tt-upload__file .rm{cursor:pointer;color:var(--tt-neutral-400);display:inline-flex}.tt-upload__file .rm:hover{color:var(--tt-danger-600)}.tt-upload__file.is-error{border-color:var(--tt-danger-300);background:var(--tt-danger-100)}.tt-calendar{background:var(--tt-white);border-radius:var(--tt-radius-md);box-shadow:var(--tt-shadow-dropdown);padding:12px;width:268px}.tt-calendar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tt-calendar__title{font-size:var(--tt-font-size-body);font-weight:var(--tt-weight-medium);color:var(--tt-text-primary)}.tt-calendar__nav{display:inline-flex;gap:2px}.tt-calendar__nav button{border:none;background:none;cursor:pointer;color:var(--tt-text-secondary);width:24px;height:24px;border-radius:var(--tt-radius-sm);display:inline-flex;align-items:center;justify-content:center}.tt-calendar__nav button:hover{background:var(--tt-neutral-100);color:var(--tt-primary-600)}.tt-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.tt-calendar__dow{font-size:11px;color:var(--tt-text-secondary);text-align:center;height:26px;line-height:26px}.tt-calendar__day{height:30px;border-radius:var(--tt-radius-sm);display:flex;align-items:center;justify-content:center;font-size:var(--tt-font-size-body);color:var(--tt-text-body);cursor:pointer}.tt-calendar__day:hover{background:var(--tt-primary-100)}.tt-calendar__day.is-muted{color:var(--tt-neutral-400)}.tt-calendar__day.is-today{box-shadow:inset 0 0 0 1px var(--tt-primary-600)}.tt-calendar__day.is-selected{background:var(--tt-primary-600);color:var(--tt-white)}.tt-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 24px;color:var(--tt-text-secondary);text-align:center}.tt-empty__icon{color:var(--tt-neutral-300)}.tt-empty__text{font-size:var(--tt-font-size-body)}.tt-empty__extra{margin-top:6px}.tt-spin{display:inline-flex;align-items:center;gap:8px;color:var(--tt-primary-600)}.tt-spin__glyph{display:inline-flex;animation:tt-spin 1s linear infinite}.tt-spin__label{font-size:var(--tt-font-size-body)}.tt-chart,.tt-spin__label{color:var(--tt-text-secondary)}.tt-chart{font-family:var(--tt-font-sans)}.tt-chart svg{display:block;overflow:visible}.tt-chart__legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}.tt-chart__legend span{display:inline-flex;align-items:center;gap:6px;font-size:var(--tt-font-size-caption);color:var(--tt-text-secondary)}.tt-chart__dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.tt-chart__axis{stroke:var(--tt-border);stroke-width:1}.tt-chart__grid{stroke:var(--tt-neutral-100);stroke-width:1}.tt-chart__xlabel{font-size:10px;fill:var(--tt-text-secondary)}.tt-cascader{background:var(--tt-white);border-radius:var(--tt-radius-md);box-shadow:var(--tt-shadow-dropdown);display:flex;overflow:hidden}.tt-cascader__col{min-width:148px;max-height:240px;overflow-y:auto;padding:4px;border-right:1px solid var(--tt-border)}.tt-cascader__col:last-child{border-right:none}.tt-cascader__opt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:var(--tt-radius-sm);font-size:var(--tt-font-size-body);color:var(--tt-text-body);cursor:pointer}.tt-cascader__opt:hover{background:var(--tt-neutral-100)}.tt-cascader__opt.is-active{background:var(--tt-primary-100);color:var(--tt-primary-700)}.tt-transfer{display:flex;gap:12px;align-items:center}.tt-transfer__panel{width:200px;border:1px solid var(--tt-border);border-radius:var(--tt-radius-md);overflow:hidden}.tt-transfer__head{padding:8px 12px;border-bottom:1px solid var(--tt-border);font-size:var(--tt-font-size-caption);color:var(--tt-text-primary);background:var(--tt-neutral-50);display:flex;justify-content:space-between}.tt-transfer__body{max-height:200px;overflow-y:auto;padding:4px}.tt-transfer__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--tt-radius-sm);font-size:var(--tt-font-size-body);cursor:pointer}.tt-transfer__item:hover{background:var(--tt-neutral-100)}.tt-transfer__ctrl{display:flex;flex-direction:column;gap:8px}.tt-divider{border:none;background:var(--tt-border)}.tt-divider--h{height:1px;width:100%;margin:16px 0}.tt-divider--v{width:1px;height:1em;display:inline-block;margin:0 8px;vertical-align:middle;background:var(--tt-border)}.tt-divider--text{display:flex;align-items:center;gap:12px;color:var(--tt-text-secondary);font-size:var(--tt-font-size-body);margin:16px 0}.tt-divider--text:after,.tt-divider--text:before{content:"";flex:1 1;height:1px;background:var(--tt-border)}.tt-container{background:var(--tt-white);border-radius:var(--tt-radius-md);padding:16px;box-sizing:border-box}.tt-container--bordered{border:1px solid var(--tt-border)}.tt-container--sunken{background:var(--tt-neutral-50)}.tt-list{border:1px solid var(--tt-border);border-radius:var(--tt-radius-md);overflow:hidden;background:var(--tt-white)}.tt-list--plain{border:none;border-radius:0;background:transparent}.tt-list__item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--tt-border)}.tt-list__item:last-child{border-bottom:none}.tt-list__item--hoverable{cursor:pointer;transition:background-color .15s ease}.tt-list__item--hoverable:hover{background:var(--tt-neutral-50)}.tt-list__main{flex:1 1;min-width:0}.tt-list__title{font-size:var(--tt-font-size-body);color:var(--tt-text-primary)}.tt-list__desc{font-size:var(--tt-font-size-caption);color:var(--tt-text-secondary);margin-top:2px}.tt-list__extra{flex-shrink:0;color:var(--tt-text-secondary)}.tt-timepanel{background:var(--tt-white);border-radius:var(--tt-radius-md);box-shadow:var(--tt-shadow-dropdown);display:flex;padding:4px}.tt-timepanel__col{width:56px;max-height:200px;overflow-y:auto;padding:2px}.tt-timepanel__col+.tt-timepanel__col{border-left:1px solid var(--tt-border)}.tt-timepanel__opt{text-align:center;padding:5px 0;border-radius:var(--tt-radius-sm);font-size:var(--tt-font-size-body);color:var(--tt-text-body);cursor:pointer}.tt-timepanel__opt:hover{background:var(--tt-neutral-100)}.tt-timepanel__opt.is-active{background:var(--tt-primary-100);color:var(--tt-primary-700);font-weight:var(--tt-weight-medium)}.tt-statistic__label{font-size:var(--tt-font-size-body);color:var(--tt-text-secondary);margin-bottom:4px}.tt-statistic__value{font-size:var(--tt-font-size-h1);font-weight:var(--tt-weight-semibold);color:var(--tt-text-primary);line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tt-statistic__value .fix{font-size:var(--tt-font-size-subtitle);color:var(--tt-text-secondary);font-weight:var(--tt-weight-regular)}.tt-statistic__trend{font-size:var(--tt-font-size-caption);margin-top:4px;display:inline-flex;gap:4px;align-items:center}.tt-statistic__trend--up{color:var(--tt-success-700)}.tt-statistic__trend--down{color:var(--tt-danger-600)}.tt-desc{width:100%;border-collapse:collapse}.tt-desc--bordered{border:1px solid var(--tt-border);border-radius:var(--tt-radius-md);overflow:hidden}.tt-desc th{text-align:left;font-weight:var(--tt-weight-medium);color:var(--tt-text-secondary);background:var(--tt-neutral-50);white-space:nowrap;vertical-align:top}.tt-desc td,.tt-desc th{padding:10px 16px;font-size:var(--tt-font-size-body)}.tt-desc td{color:var(--tt-text-primary)}.tt-desc--bordered td,.tt-desc--bordered th{border-bottom:1px solid var(--tt-border)}.tt-desc--bordered tr:last-child td,.tt-desc--bordered tr:last-child th{border-bottom:none}.tt-desc--bordered th{border-right:1px solid var(--tt-border)}.tt-timeline{position:relative}.tt-timeline__item{position:relative;padding-left:24px;padding-bottom:20px}.tt-timeline__item:last-child{padding-bottom:0}.tt-timeline__dot{position:absolute;left:0;top:3px;width:10px;height:10px;border-radius:50%;background:var(--tt-primary-600);box-shadow:0 0 0 3px var(--tt-primary-100)}.tt-timeline__item--success .tt-timeline__dot{background:var(--tt-success-600);box-shadow:0 0 0 3px var(--tt-success-100)}.tt-timeline__item--warning .tt-timeline__dot{background:var(--tt-warning-600);box-shadow:0 0 0 3px var(--tt-warning-100)}.tt-timeline__item--danger .tt-timeline__dot{background:var(--tt-danger-600);box-shadow:0 0 0 3px var(--tt-danger-100)}.tt-timeline__line{position:absolute;left:4px;top:16px;bottom:-3px;width:2px;background:var(--tt-border)}.tt-timeline__item:last-child .tt-timeline__line{display:none}.tt-timeline__title{font-size:var(--tt-font-size-body);color:var(--tt-text-primary)}.tt-timeline__time{font-size:var(--tt-font-size-caption);color:var(--tt-text-secondary);margin-top:2px}.tt-rate{display:inline-flex;gap:4px}.tt-rate__star{color:var(--tt-neutral-300);display:inline-flex;cursor:pointer;transition:color .1s ease,transform .1s ease}.tt-rate__star.is-on{color:var(--tt-warning-500)}.tt-rate__star:hover{transform:scale(1.1)}.tt-rate--readonly .tt-rate__star{cursor:default}.tt-rate--readonly .tt-rate__star:hover{transform:none}:root{--tt-primary-700:#0f3a93;--tt-primary-600:#1650c8;--tt-primary-500:#2f68dc;--tt-primary-400:#6e96e9;--tt-primary-300:#a8c1f2;--tt-primary-200:#d3e0f9;--tt-primary-100:#e9f0fd;--tt-primary-50:#f4f8fe;--tt-neutral-700:#1a1a1a;--tt-neutral-600:#3d4451;--tt-neutral-500:#5b6b7b;--tt-neutral-400:#8a95a3;--tt-neutral-300:#d7d9dd;--tt-neutral-200:#edebeb;--tt-neutral-100:#f2f3f5;--tt-neutral-50:#f7f8fa;--tt-text-title:#1a1a1a;--tt-success-700:#0e6b3c;--tt-success-600:#0e6b3c;--tt-success-200:#dcffdc;--tt-warning-700:#8a5b05;--tt-warning-600:#f9bc16;--tt-warning-200:#ffeec9;--tt-danger-700:#a31b10;--tt-danger-600:#d92d20;--tt-danger-200:#fce6e4;--tt-info-700:#1246ae;--tt-info-600:#1650c8;--tt-info-200:#e9f0fd;--tt-auxiliary-700:#6b2fa8;--tt-auxiliary-600:#cd8bff;--tt-auxiliary-200:#ebdbff;--tt-series-1:var(--chart-1);--tt-series-2:var(--chart-2);--tt-series-3:var(--chart-3);--tt-series-4:var(--chart-4);--tt-series-5:var(--chart-5);--tt-series-6:var(--chart-6);--tt-radius-xs:8px;--tt-radius-sm:12px;--tt-radius-md:16px;--tt-radius-lg:20px;--tt-radius-xl:24px;--tt-radius-pill:999px;--tt-radius-page:32px;--tt-font-size-body:15px;--tt-line-body:24px;--tt-font-size-caption:13px;--tt-line-caption:18px;--tt-font-size-sm:13px;--tt-font-size-xs:11px;--tt-font-size-title:17px;--tt-line-title:26px;--tt-font-size-display:56px}.tt-btn,.tt-field__input,.tt-icon-btn--square,.tt-page{border-radius:var(--radius-control,16px)}.tt-card{border-radius:var(--radius-card,24px)}.tt-field__input[type=search],.tt-tag{border-radius:var(--radius-pill,999px)}.tt-field--md .tt-field__input{min-height:46px}@import url("https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--blue-900:#0b2a6b;--blue-800:#0f3a93;--blue-700:#1246ae;--blue-600:#1650c8;--blue-500:#2f68dc;--blue-400:#6e96e9;--blue-300:#a8c1f2;--blue-200:#d3e0f9;--blue-100:#e9f0fd;--blue-50:#f4f8fe;--navy-900:#121626;--navy-800:#1c1b39;--navy-700:#262a48;--navy-600:#363b60;--navy-400:#6b7091;--ink-900:#1a1a1a;--ink-700:#3d4451;--ink-500:#5b6b7b;--ink-400:#8a95a3;--grey-300:#d7d9dd;--grey-200:#edebeb;--grey-100:#f2f3f5;--grey-50:#f7f8fa;--white:#fff;--lime:#ddfd2c;--lime-dark:#c4e200;--lime-ink:#4a5600;--lime-200:#edfbb4;--lime-100:#f6fdde;--lavender:#cd8bff;--lavender-200:#ebdbff;--lavender-100:#f5edff;--lavender-ink:#6b2fa8;--mint:#98ff98;--mint-200:#dcffdc;--mint-ink:#0e6b3c;--amber:#f9bc16;--amber-200:#ffeec9;--amber-ink:#8a5b05;--coral:#d92d20;--coral-200:#fce6e4;--coral-ink:#a31b10;--bg-app:#f5f7fc;--bg-canvas:#f0f6fa;--surface-card:var(--white);--surface-sunken:var(--grey-100);--surface-inverse:var(--navy-900);--surface-accent:var(--blue-50);--surface-nav:var(--white);--surface-hero:linear-gradient(120deg,#eaf1fd,#f4f0ff 52%,#fff);--nav-ink:var(--ink-500);--nav-ink-active:var(--blue-700);--nav-active-bg:var(--blue-100);--text-title:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-subtle:var(--ink-400);--text-on-primary:var(--white);--text-on-inverse:var(--white);--text-link:var(--blue-600);--text-link-hover:var(--blue-800);--border-subtle:var(--grey-200);--border-strong:var(--grey-300);--border-focus:var(--blue-600);--action-primary:var(--blue-600);--action-primary-hover:var(--blue-700);--action-primary-active:var(--blue-800);--action-primary-soft:var(--blue-100);--action-accent:var(--lime);--action-accent-hover:var(--lime-dark);--action-accent-ink:var(--ink-900);--state-success:var(--mint-ink);--state-success-bg:var(--mint-200);--state-warning:var(--amber-ink);--state-warning-bg:var(--amber-200);--state-danger:var(--coral);--state-danger-bg:var(--coral-200);--state-info:var(--blue-600);--state-info-bg:var(--blue-100);--state-neutral:var(--ink-500);--state-neutral-bg:var(--grey-100);--state-accent:var(--lavender-ink);--state-accent-bg:var(--lavender-200);--data-1:var(--blue-600);--data-2:var(--lavender);--data-3:var(--blue-400);--data-4:var(--amber);--data-5:var(--navy-800);--gradient-hero:linear-gradient(135deg,#e9f0fd,#f4f8fe 45%,#fff);--gradient-accent:linear-gradient(135deg,var(--lavender) 0%,var(--blue-500) 100%);--gradient-energy:linear-gradient(135deg,var(--lime) 0%,var(--mint) 100%);--gradient-shell:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-800) 100%);--gradient-hero-dark:radial-gradient(120% 140% at 8% 0%,#2b2a63 0%,#1c1b39 42%,#121626 100%);--gradient-soft:linear-gradient(140deg,var(--blue-100) 0%,var(--lavender-100) 100%);--gradient-chart:linear-gradient(180deg,rgba(22,80,200,.22),rgba(22,80,200,0));--font-display:"Onest",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--fs-display-1:56px;--lh-display-1:60px;--fs-display-2:44px;--lh-display-2:50px;--fs-display-3:36px;--lh-display-3:42px;--fs-h1:30px;--lh-h1:38px;--fs-h2:24px;--lh-h2:32px;--fs-h3:20px;--lh-h3:28px;--fs-body-lg:17px;--lh-body-lg:26px;--fs-body:15px;--lh-body:24px;--fs-body-sm:14px;--lh-body-sm:22px;--fs-caption:13px;--lh-caption:18px;--fs-micro:11px;--lh-micro:16px;--fs-display-mobile:32px;--lh-display-mobile:40px;--fs-metric-mobile:28px;--lh-metric-mobile:36px;--fs-control:16px;--lh-control:24px;--fs-mono:14px;--lh-mono:20px;--fs-mono-sm:12px;--lh-mono-sm:16px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--ls-display:-0.02em;--ls-heading:-0.01em;--ls-body:0;--ls-eyebrow:0.08em;--numeric-tabular:tabular-nums;--type-display-hero:var(--fw-semibold) var(--fs-display-1)/var(--lh-display-1) var(--font-display);--type-display:var(--fw-semibold) var(--fs-display-2)/var(--lh-display-2) var(--font-display);--type-display-mobile:var(--fw-semibold) var(--fs-display-mobile)/var(--lh-display-mobile) var(--font-display);--type-page-title:var(--fw-semibold) var(--fs-h1)/var(--lh-h1) var(--font-display);--type-page-title-mobile:var(--fw-semibold) var(--fs-h2)/var(--lh-h2) var(--font-display);--type-section-title:var(--fw-semibold) var(--fs-h3)/var(--lh-h3) var(--font-sans);--type-card-title:var(--fw-semibold) var(--fs-h3)/var(--lh-h3) var(--font-sans);--type-card-title-compact:var(--fw-semibold) var(--fs-body)/var(--lh-body) var(--font-sans);--type-body-lg:var(--fw-regular) var(--fs-body-lg)/var(--lh-body-lg) var(--font-sans);--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);--type-label:var(--fw-medium) var(--fs-body-sm)/var(--lh-body-sm) var(--font-sans);--type-nav:var(--fw-medium) var(--fs-body-sm)/var(--lh-body-sm) var(--font-sans);--type-field:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);--type-help:var(--fw-regular) var(--fs-caption)/var(--lh-caption) var(--font-sans);--type-table-head:var(--fw-semibold) var(--fs-body-sm)/var(--lh-body-sm) var(--font-sans);--type-eyebrow:var(--fw-semibold) var(--fs-micro)/var(--lh-micro) var(--font-sans);--type-metric:var(--fw-semibold) var(--fs-display-3)/var(--lh-display-3) var(--font-display);--type-metric-mobile:var(--fw-semibold) var(--fs-metric-mobile)/var(--lh-metric-mobile) var(--font-display);--type-metric-label:var(--fw-regular) var(--fs-body-sm)/var(--lh-body-sm) var(--font-sans);--type-metric-meta:var(--fw-regular) var(--fs-caption)/var(--lh-caption) var(--font-sans);--type-mono:var(--fw-regular) var(--fs-mono)/var(--lh-mono) var(--font-mono);--type-mono-sm:var(--fw-regular) var(--fs-mono-sm)/var(--lh-mono-sm) var(--font-mono);--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-30:120px;--gap-inline:8px;--gap-control:12px;--gap-card:24px;--gap-section:32px;--pad-control-y:10px;--pad-control-x:16px;--pad-card:24px;--pad-card-compact:16px;--page-pad:32px;--page-max:1320px;--content-max:1080px;--sidebar-w:256px;--sidebar-w-collapsed:76px;--rail-w:96px;--nav-panel-w:240px;--topbar-h:64px;--section-marketing:96px;--radius-xs:8px;--radius-sm:12px;--radius-control:16px;--radius-card:24px;--radius-hero:32px;--radius-pill:999px;--shadow-none:none;--shadow-1:0 2px 6px rgba(18,22,38,.05);--shadow-2:0 10px 30px rgba(18,22,38,.07);--shadow-3:0 24px 60px rgba(18,22,38,.14);--shadow-nav:0 8px 24px rgba(18,22,38,.08);--ring-focus:0 0 0 3px rgba(22,80,200,.22);--ring-danger:0 0 0 3px rgba(217,45,32,.18);--ring-accent:0 0 0 3px rgba(205,139,255,.28);--ease-standard:cubic-bezier(.2,0,0,1);--ease-entrance:cubic-bezier(.05,.7,.1,1);--ease-exit:cubic-bezier(.3,0,.8,.15);--dur-instant:80ms;--dur-fast:140ms;--dur-base:200ms;--dur-slow:320ms;--transition-control:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}*,:after,:before{box-sizing:border-box}.app-shell{margin:0;background:var(--bg-app);color:var(--text-body);font:var(--type-body);letter-spacing:var(--ls-body);-webkit-font-smoothing:antialiased}.app-shell h1,.app-shell h2,.app-shell h3,.app-shell h4{margin:0;color:var(--text-title);font-family:var(--font-display);letter-spacing:var(--ls-heading);font-weight:var(--fw-semibold)}.app-shell h1{font-size:var(--fs-h1);line-height:var(--lh-h1)}.app-shell h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}.app-shell h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-family:var(--font-sans)}.app-shell p{margin:0}.app-shell a{color:var(--text-link);text-decoration:none}.app-shell a:hover{color:var(--text-link-hover);text-decoration:underline}.app-shell code,.app-shell pre{font-family:var(--font-mono);font-size:var(--fs-caption)}.app-shell :focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-xs)}@keyframes edulead-spin{to{transform:rotate(1turn)}}@keyframes edulead-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes edulead-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes edulead-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}