.tc-mono{font:var(--t-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv11" 1;letter-spacing:.01em}.tc-link{color:var(--tc-blue);text-decoration:underline;text-underline-offset:2px}.tc-link:hover{color:var(--tc-blue-2)}.tc-copytext{background:transparent;border:none;padding:2px 0;margin:0;color:inherit;text-align:inherit;cursor:pointer;text-decoration:none;text-underline-offset:2px}.tc-copytext:hover,.tc-copytext:focus-visible{text-decoration:underline}.tc-copytext:focus-visible{outline:none;box-shadow:var(--sh-focus)}.tc-icon{font-family:Material Symbols Rounded,Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;display:inline-flex;align-items:center;justify-content:center;flex:none;vertical-align:middle;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"liga";-webkit-user-select:none;user-select:none;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.tc-icon--filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.tc-icon--sm{font-size:16px}.tc-icon--md{font-size:20px}.tc-icon--lg{font-size:24px}.tc-icon--xl{font-size:32px}.side__link .tc-icon{font-size:22px}.side__toggle .tc-icon{font-size:18px;transition:transform var(--dur-base) var(--ease-standard)}.app.is-collapsed .side__toggle .tc-icon{transform:rotate(180deg)}.dash-band__head .tc-icon{font-size:14px}.tc-iconbtn .tc-icon{font-size:18px}.tc-tag__x .tc-icon{font-size:14px}.tc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:var(--t-label);letter-spacing:.01em;text-decoration:none;border-radius:var(--r-pill);padding:8px 20px;height:36px;border:1px solid transparent;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard);-webkit-user-select:none;user-select:none;white-space:nowrap}.tc-btn:focus-visible{box-shadow:var(--sh-focus);outline:none}.tc-btn[disabled]{opacity:.5;pointer-events:none}.tc-btn--sm{height:28px;padding:4px 14px;font-size:12px}.tc-btn__label-stack{display:inline-grid}.tc-btn__label-stack>*{grid-area:1 / 1;text-align:center}.tc-btn__label-stack>[aria-hidden=true]{visibility:hidden}.tc-btn--lg{height:44px;padding:12px 24px;font-size:14px}.tc-btn--primary{background:var(--tc-blue);color:#fff}.tc-btn--primary:hover{background:var(--tc-blue-2)}.tc-btn--primary:active{background:var(--tc-blue-3)}.tc-btn--outlined-primary{background:transparent;color:var(--tc-blue);border-color:var(--tc-blue)}.tc-btn--outlined-primary:hover{background:var(--tc-blue-soft)}.tc-btn--ink{background:var(--tc-ink);color:var(--fg-on-ink)}.tc-btn--ink:hover{background:var(--tc-ink-2)}.tc-btn--ink:active{background:var(--tc-ink-3)}.tc-btn--outlined{background:var(--bg-surface);color:var(--fg-primary);border-color:var(--border-default)}.tc-btn--outlined:hover{border-color:var(--border-strong);background:var(--bg-sunken)}.tc-btn--danger{background:transparent;color:var(--tc-rose);border-color:var(--tc-rose)}.tc-btn--danger:hover{background:#e5605f14}.tc-btn--text{background:transparent;color:var(--fg-link);padding-left:8px;padding-right:8px}.tc-btn--text:hover{background:var(--tc-blue-soft)}.tc-iconbtn{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--fg-secondary);border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.tc-iconbtn:hover{background:var(--bg-sunken);color:var(--fg-primary)}.tc-iconbtn--sm{width:28px;height:28px}.tc-chip{display:inline-flex;align-items:center;gap:6px;font:500 12px/1.2 var(--font-display);letter-spacing:.01em;padding:4px 12px;border-radius:var(--r-pill);background:var(--status-neutral-bg);color:var(--status-neutral-fg);white-space:nowrap;border:1px solid transparent}.tc-chip__dot{width:6px;height:6px;border-radius:999px;background:currentColor;flex:none}.tc-chip--info{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-fg)}.tc-chip--progress{background:var(--status-progress-bg);color:var(--status-progress-fg);border-color:var(--status-progress-fg)}.tc-chip--success{background:var(--status-success-bg);color:var(--status-success-fg);border-color:var(--status-success-fg)}.tc-chip--warn{background:var(--status-warn-bg);color:var(--status-warn-fg);border-color:var(--status-warn-fg)}.tc-chip--danger{background:var(--status-danger-bg);color:var(--status-danger-fg);border-color:var(--status-danger-fg)}.tc-chip--neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg);border-color:var(--border-default)}.tc-chip--updated{background:var(--tc-green-soft);border:1px solid var(--tc-green);color:#11704a}.tc-tabs{display:inline-flex;gap:2px;border-bottom:1px solid var(--border-subtle);position:relative}.tc-tab{position:relative;font:var(--t-label);font-size:14px;color:var(--fg-tertiary);background:transparent;border:0;cursor:pointer;padding:12px 14px;display:inline-flex;align-items:center;gap:8px;transition:color var(--dur-fast) var(--ease-standard);text-decoration:none}.tc-tab:hover{color:var(--fg-primary)}.tc-tab[aria-selected=true]{color:var(--tc-blue);font-weight:600}.tc-tab[aria-selected=true]:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--tc-blue)}.tc-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--status-neutral-bg);color:var(--fg-secondary);font-size:11px;font-weight:600}.tc-toggle-group{display:inline-flex;background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:4px;gap:2px}.tc-toggle{height:32px;padding:0 14px;border:0;background:transparent;font:500 13px/1 var(--font-display);color:var(--fg-secondary);border-radius:var(--r-sm);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tc-toggle:hover{color:var(--fg-primary)}.tc-toggle--active{background:var(--bg-surface);color:var(--tc-blue);font-weight:600;box-shadow:var(--sh-1)}.tc-toggle__label{display:inline-flex;flex-direction:column;align-items:center}.tc-toggle__label:after{content:attr(data-label);content:attr(data-label) / "";font-weight:600;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.tc-provider-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-standard),box-shadow var(--dur-fast) var(--ease-standard)}.tc-provider-card:hover{border-color:var(--tc-blue-light)}.tc-provider-card:focus-visible{outline:none;box-shadow:var(--sh-focus)}.tc-provider-card--checked{border-color:var(--tc-blue);background:var(--tc-blue-soft);box-shadow:var(--sh-focus)}.tc-provider-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}.tc-provider-card__label{font:600 13px var(--font-display);color:var(--fg-primary)}.tc-provider-card__meta{font:var(--t-caption);color:var(--fg-tertiary)}.tc-radio{width:18px;height:18px;border-radius:999px;border:2px solid var(--border-default);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.tc-radio--checked{border-color:var(--tc-blue)}.tc-radio--checked:after{content:"";width:10px;height:10px;border-radius:999px;background:var(--tc-blue)}.tc-field{display:flex;flex-direction:column;gap:6px;position:relative}.tc-field__label{font:var(--t-caption);color:var(--fg-tertiary);position:absolute;top:-7px;left:12px;background:var(--bg-surface);padding:0 4px;z-index:1}.tc-field__label--inline{position:static;padding:0;background:transparent;margin-bottom:0}.tc-input{height:44px;padding:0 14px;border-radius:var(--r-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);font:var(--t-body);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.tc-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.tc-input::placeholder{color:var(--fg-tertiary)}.tc-input--error{border-color:var(--status-danger-fg)}.tc-field__helper{font:var(--t-caption);color:var(--fg-tertiary)}.tc-field__error{font:var(--t-caption);color:var(--status-danger-fg)}.tc-textarea{width:100%;min-height:96px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);font:var(--t-body);resize:vertical;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);font-family:inherit}.tc-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.tc-textarea::placeholder{color:var(--fg-tertiary)}.tc-checkbox{width:18px;height:18px;border-radius:4px;border:2px solid var(--border-default);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;background:var(--bg-surface);position:relative;font-size:0;line-height:0}.tc-checkbox--checked{background:var(--tc-blue);border-color:var(--tc-blue);color:#fff}.tc-checkbox .tc-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px}.tc-checkbox-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.tc-checkbox-input:focus-visible+.tc-checkbox{outline:none;box-shadow:var(--sh-focus)}.tc-checkbox-input:disabled+.tc-checkbox{background:var(--bg-sunken);border-color:var(--border-subtle);cursor:not-allowed}.tc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tc-stepper{display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none}.tc-stepper__step{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--font-display);color:var(--fg-tertiary);white-space:nowrap}.tc-stepper__step--active,.tc-stepper__step--complete{color:var(--fg-primary)}.tc-stepper__dot{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:var(--fg-on-ink);background:var(--fg-disabled)}.tc-stepper__dot .tc-icon{font-size:12px}.tc-stepper__step--active .tc-stepper__dot,.tc-stepper__step--complete .tc-stepper__dot{background:var(--tc-blue)}.tc-stepper__line{flex:1;height:1px;background:var(--border-default)}.tc-stepper__line--complete{background:var(--tc-blue)}.tc-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-1)}.tc-card__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.tc-card__title{font:var(--t-h3);margin:0}.tc-card__body{padding:20px}.tc-kpi{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:20px 22px;display:flex;flex-direction:column;gap:6px;min-width:0}.tc-kpi__label{font:var(--t-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-tertiary)}.tc-kpi__value{font:var(--t-numeric);color:var(--fg-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tc-kpi__sub{font:var(--t-caption);color:var(--fg-tertiary)}.tc-delta{display:inline-flex;align-items:baseline;gap:4px;font:600 12px/1.2 var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap}.tc-delta--up{color:var(--tc-green)}.tc-delta--down{color:var(--tc-rose)}.tc-delta--flat{color:var(--fg-tertiary)}.tc-breadcrumb{display:inline-flex;align-items:center;gap:6px;font:var(--t-label);color:var(--fg-tertiary)}.tc-breadcrumb a{color:var(--fg-secondary);text-decoration:none}.tc-breadcrumb a:hover{color:var(--tc-blue)}.tc-breadcrumb__sep{color:var(--fg-tertiary)}.tc-breadcrumb__current{color:var(--fg-primary);font-weight:600;min-width:0;overflow-wrap:anywhere}.tc-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:var(--r-lg);padding:20px 24px;border:1px solid;background:var(--bg-surface);border-color:var(--border-subtle)}.tc-banner--info{background:var(--heat-risk-bg);border-color:var(--status-info-fg)}.tc-banner--success{background:var(--heat-speed-bg);border-color:var(--status-success-fg)}.tc-banner--warn{background:var(--heat-geo-bg);border-color:var(--status-warn-fg)}.tc-banner--danger{background:var(--heat-harsh-bg);border-color:var(--status-danger-fg)}.tc-banner__title{font:700 18px/1.3 var(--font-display);color:var(--fg-primary)}.tc-banner__sub{font:var(--t-body-sm);color:var(--fg-secondary);margin-top:4px}.tc-input-group{display:flex;align-items:stretch;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface);height:44px;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.tc-input-group:focus-within{border-color:var(--border-focus);box-shadow:var(--sh-focus)}.tc-input-group input{border:0;outline:0;background:transparent;flex:1;padding:0 12px;font:var(--t-body);color:var(--fg-primary);min-width:0}.tc-input-group__btn{display:inline-flex;align-items:center;justify-content:center;padding:0 12px;color:var(--fg-tertiary);border:0;background:transparent;cursor:pointer;border-left:1px solid var(--border-subtle)}.tc-input-group__btn:hover{color:var(--tc-blue)}.tc-toolbar{display:flex;align-items:center;gap:12px}.tc-toolbar__spacer{flex:1}.tc-modal[hidden]{display:none}.tc-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-overlay);animation:tc-modal-fade var(--dur-base) var(--ease-standard)}@keyframes tc-modal-fade{0%{opacity:0}to{opacity:1}}.tc-modal-dialog{width:100%;max-width:480px;background:var(--bg-surface);border-radius:var(--r-lg);box-shadow:var(--sh-3);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;animation:tc-modal-pop var(--dur-base) var(--ease-standard)}@keyframes tc-modal-pop{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.tc-modal-dialog--sm{max-width:360px}.tc-modal-dialog--md{max-width:480px}.tc-modal-dialog--lg{max-width:720px}.tc-modal-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border-subtle)}.tc-modal-dialog__title-row{display:flex;align-items:center;gap:8px}.tc-modal-dialog__title{margin:0;font:var(--t-h3);color:var(--fg-primary)}.tc-modal-dialog__head .tc-iconbtn{width:30px;height:30px;color:var(--fg-tertiary);border-radius:var(--r-pill);margin:-3px -5px -3px 0;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.tc-modal-dialog__head .tc-iconbtn:hover{color:var(--fg-primary)}.tc-modal-dialog__head .tc-iconbtn:active{background:var(--border-subtle);transform:scale(.92)}.tc-modal-dialog__head .tc-iconbtn .tc-icon{font-size:19px;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 20}.tc-modal-dialog__body{padding:18px;display:flex;flex-direction:column;gap:12px;font:var(--t-body);color:var(--fg-secondary);overflow-y:auto;flex:1}.tc-modal-dialog__desc{margin:0 0 4px;color:var(--fg-secondary)}.tc-modal-dialog__foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border-subtle)}@media(prefers-reduced-motion:reduce){.tc-modal,.tc-modal-dialog,.tc-modal-dialog--blade{animation:none}}@media(max-width:560px){.tc-modal{padding:0;align-items:flex-end}.tc-modal-dialog:not(.tc-modal-dialog--blade){max-width:100%;border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:90vh}.tc-modal-dialog__foot{flex-direction:column-reverse}.tc-modal-dialog__foot .tc-btn{width:100%}}.tc-modal--blade{justify-content:flex-end;align-items:stretch;padding:0}.tc-modal-dialog--blade{max-width:420px;width:100%;height:100vh;max-height:100vh;border-radius:0;animation:tc-blade-in var(--dur-base) var(--ease-standard)}@keyframes tc-blade-in{0%{transform:translate(100%)}to{transform:translate(0)}}.tc-modal-dialog--blade .tc-modal-dialog__body{flex:1;max-height:none;gap:18px}.tc-modal-dialog--blade form{display:flex;flex-direction:column;flex:1;min-height:0}.tc-select-group{border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface)}.tc-select-group__trigger{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.tc-select-group__trigger::-webkit-details-marker{display:none}.tc-select-group__label{font:var(--t-label);color:var(--fg-primary)}.tc-select-group__value{flex:1;min-width:0;font:var(--t-body);color:var(--fg-tertiary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-select-group__chevron{flex:none;color:var(--fg-tertiary);transition:transform var(--dur-fast) var(--ease-standard)}.tc-select-group[open] .tc-select-group__chevron{transform:rotate(180deg)}.tc-select-group[open] .tc-select-group__trigger{border-bottom:1px solid var(--border-subtle)}.tc-select-group__panel{padding:12px 14px}@media(prefers-reduced-motion:reduce){.tc-select-group__chevron{transition:none}}@keyframes tc-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tc-enter{animation:tc-fade-in var(--dur-slow) var(--ease-out-soft) both}.tc-enter--stagger-1{animation-delay:40ms}.tc-enter--stagger-2{animation-delay:80ms}.tc-enter--stagger-3{animation-delay:.12s}.tc-skeleton{position:relative;overflow:hidden;background:var(--skeleton-bg);border-radius:var(--r-sm)}.tc-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--skeleton-shimmer),transparent);animation:tc-shimmer 1.4s ease-in-out infinite}@keyframes tc-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tc-skeleton--on-ink{background:var(--skeleton-bg-on-ink)}.tc-skeleton--on-ink:after{background:linear-gradient(90deg,transparent,var(--skeleton-shimmer-on-ink),transparent)}.tc-skeleton-table{display:flex;flex-direction:column;gap:1px;padding:16px 24px}.tc-skeleton-row{height:75px}.tc-skeleton-chart{height:280px;width:100%}.tc-spinner{display:inline-block;width:14px;height:14px;border:2px solid color-mix(in srgb,currentColor 40%,transparent);border-top-color:currentColor;border-radius:50%;vertical-align:-2px;animation:tc-spin .7s linear infinite}@keyframes tc-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.tc-enter,.tc-enter--stagger-1,.tc-enter--stagger-2,.tc-enter--stagger-3{animation:none}.tc-skeleton:after{animation:none}.tc-spinner{animation:none}}.tc-chip--outline-success{background:transparent;border:1px solid var(--status-success-fg);color:var(--status-success-fg)}.tc-chip--outline-warn{background:transparent;border:1px solid var(--status-warn-fg);color:var(--status-warn-fg)}.tc-chip--outline-danger{background:transparent;border:1px solid var(--tc-rose);color:var(--tc-rose)}.tc-chip--outline-info{background:transparent;border:1px solid var(--tc-blue);color:var(--tc-blue)}.tc-chip--outline-neutral{background:transparent;border:1px solid var(--border-default);color:var(--fg-secondary)}.tc-kpi__icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--tc-blue);margin-bottom:8px}.tc-kpi--pass{background:var(--heat-speed-bg);border-color:var(--status-success-fg)}.tc-kpi--warn{background:var(--heat-geo-bg);border-color:var(--status-warn-fg)}.tc-kpi--fail{background:var(--heat-harsh-bg);border-color:var(--status-danger-fg)}.tc-kpi--pass .tc-kpi__icon,.tc-kpi--pass .tc-kpi__value{color:var(--status-success-fg)}.tc-kpi--warn .tc-kpi__icon,.tc-kpi--warn .tc-kpi__value{color:var(--status-warn-fg)}.tc-kpi--fail .tc-kpi__icon,.tc-kpi--fail .tc-kpi__value{color:var(--status-danger-fg)}.tc-kpi--lg .tc-kpi__value{font:800 34px/1 var(--font-display);letter-spacing:-.02em}.tc-kpi--lg .tc-kpi__label{text-transform:none;letter-spacing:0;font:600 13px/1.2 var(--font-display);margin-top:10px}.tc-kpi__value-suffix{font:700 16px var(--font-display);margin-left:3px;opacity:.7}.tc-banner__left{display:flex;align-items:center;gap:18px;min-width:0}.tc-banner__icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);flex:none;color:#fff}.tc-banner--info .tc-banner__icon{background:var(--status-info-fg)}.tc-banner--success .tc-banner__icon{background:var(--status-success-fg)}.tc-banner--warn .tc-banner__icon{background:var(--status-warn-fg)}.tc-banner--danger .tc-banner__icon{background:var(--status-danger-fg)}.tc-banner__label{font:600 11px/1.2 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-tertiary);margin-bottom:4px}.tc-banner__badge{padding:6px 14px;border-radius:var(--r-md);color:#fff;font:700 11px/1.2 var(--font-display);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex:none}.tc-banner--info .tc-banner__badge{background:var(--status-info-fg)}.tc-banner--success .tc-banner__badge{background:var(--status-success-fg)}.tc-banner--warn .tc-banner__badge{background:var(--status-warn-fg)}.tc-banner--danger .tc-banner__badge{background:var(--status-danger-fg)}.tc-card--flush{padding:0}.tc-scorebar__track{position:relative;height:8px;background:var(--bg-sunken);border-radius:999px;overflow:hidden}.tc-scorebar__fill{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:var(--tc-blue)}.tc-scorebar__fill--pass{background:var(--status-success-fg)}.tc-scorebar__fill--warn{background:var(--status-warn-fg)}.tc-scorebar__fill--fail{background:var(--status-danger-fg)}.tc-scorebar__marker{position:absolute;top:-2px;width:2px;height:12px;background:var(--fg-primary);border-radius:1px}.tc-scorebar__labels{display:flex;justify-content:space-between;margin-top:6px;font:500 10px var(--font-display);color:var(--fg-tertiary);position:relative}.tc-scorebar__threshold{position:absolute;transform:translate(-50%);color:var(--fg-secondary);font-weight:600;white-space:nowrap}.tc-gauge{width:220px}.tc-gauge__svg{width:100%;height:auto;display:block}.tc-gauge__value{font:700 32px/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-align:center;margin-top:-36px}.tc-gauge__label{font:var(--t-caption);color:var(--fg-tertiary);text-align:center;margin-top:4px}.tc-risk-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-radius:var(--r-md);overflow:hidden}.tc-risk-scale__cell{padding:10px 12px;font:600 11px/1.2 var(--font-display);color:#0f1928;text-align:center}.tc-risk-scale__cell small{display:block;font-weight:500;opacity:.7;margin-top:2px}.tc-spark{display:flex;flex-direction:column;gap:4px;min-width:60px}.tc-spark__bar{height:6px;border-radius:999px;background:var(--bg-sunken);overflow:hidden;position:relative}.tc-spark__fill{position:absolute;inset:0 auto 0 0;background:var(--tc-blue);border-radius:999px}.tc-spark__lbl{font:var(--t-caption);color:var(--fg-tertiary);font-variant-numeric:tabular-nums}.tc-dropzone{border:2px dashed var(--border-default);border-radius:var(--r-lg);padding:32px 20px;text-align:center;background:var(--bg-surface-2);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}.tc-dropzone:hover{border-color:var(--tc-blue);background:var(--tc-blue-soft)}.tc-dropzone__icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--tc-blue-soft);color:var(--tc-blue);margin-bottom:12px}.tc-dropzone__title{font:var(--t-h3);color:var(--fg-primary);margin:0 0 4px}.tc-dropzone__sub{font:var(--t-body-sm);color:var(--fg-tertiary);margin:0}.tc-avatar{width:28px;height:28px;border-radius:999px;background:var(--bg-sunken);color:var(--fg-secondary);display:inline-flex;align-items:center;justify-content:center;font:600 11px var(--font-display);border:2px solid var(--bg-surface);flex:none;overflow:hidden}.tc-avatar img{width:100%;height:100%;object-fit:cover}.tc-avatar--sm{width:22px;height:22px;font-size:10px}.tc-avatar--lg{width:56px;height:56px;font-size:18px}.tc-avatar--ink{background:var(--tc-ink);color:#fff;border-color:var(--bg-surface)}.tc-avatar--blue{background:var(--tc-blue);color:#fff}.tc-avatar--green{background:var(--tc-green);color:#fff}.tc-tagsfield{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;min-height:44px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-surface);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.tc-tagsfield:focus-within{border-color:var(--border-focus);box-shadow:var(--sh-focus)}.tc-tagsfield input{border:0;outline:0;flex:1;min-width:120px;padding:4px 6px;font:var(--t-body-sm);background:transparent;color:var(--fg-primary)}.tc-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;background:var(--tc-blue-soft);color:var(--tc-blue);border-radius:var(--r-pill);font:500 12px/1.2 var(--font-display)}.tc-tag__x{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;cursor:pointer;background:none;border:0;color:inherit}.tc-tag__x:hover{background:#2a9fe72e}.tc-select{height:44px;padding:0 40px 0 14px;border-radius:var(--r-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);font:var(--t-body);width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.tc-select:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.tc-select-wrap{position:relative;display:block}.tc-select-wrap .tc-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--fg-tertiary)}.tc-input:disabled,.tc-select:disabled,.tc-textarea:disabled{background:var(--bg-sunken);border-color:var(--border-subtle);color:var(--fg-secondary);cursor:not-allowed;-webkit-text-fill-color:var(--fg-secondary);opacity:1}.tc-input:disabled:focus,.tc-select:disabled:focus,.tc-textarea:disabled:focus{border-color:var(--border-subtle);box-shadow:none}.tc-select-wrap .tc-select:disabled+.tc-icon{color:var(--fg-disabled)}.tc-combobox{position:relative}.tc-combobox .tc-input{width:100%;padding-right:44px}.tc-combobox__end{position:absolute;right:8px;top:22px;transform:translateY(-50%);display:flex;align-items:center;color:var(--fg-tertiary)}.tc-combobox__end>.tc-icon{pointer-events:none;padding:0 4px}.tc-combobox .tc-input:disabled~.tc-combobox__end{color:var(--fg-disabled)}.tc-combobox__layer{position:fixed;z-index:1050}.tc-combobox__list{margin:0;list-style:none;overflow-y:auto;min-width:0}.tc-combobox__list ul{list-style:none;margin:0;padding:0}.tc-combobox__list .tc-menu__item{box-sizing:border-box;overflow-wrap:anywhere}.tc-combobox__list .tc-menu__item.Mui-focused{background:var(--bg-sunken)}.tc-combobox__list .tc-menu__item[aria-selected=true]{color:var(--tc-blue);font-weight:600}.tc-form-grid{display:grid;gap:16px 20px}.tc-form-grid--2{grid-template-columns:1fr 1fr}.tc-form-grid--3{grid-template-columns:1fr 1fr 1fr}.tc-form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.tc-form-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.tc-form-actions{display:flex;align-items:center;gap:14px;border-top:1px solid var(--border-subtle);padding-top:18px}@media(max-width:1024px){.tc-form-grid--4,.tc-form-grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.tc-form-grid--2,.tc-form-grid--3,.tc-form-grid--4,.tc-form-grid--5{grid-template-columns:minmax(0,1fr)}}.tc-menu{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);padding:6px;box-shadow:var(--sh-2);min-width:240px}.tc-menu__item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);font:var(--t-body-sm);color:var(--fg-primary);cursor:pointer;background:none;border:0;width:100%;text-align:left}.tc-menu__item:hover{background:var(--bg-sunken)}.tc-menu__item:disabled{opacity:.5;cursor:not-allowed;background:none}.tc-menu__sep{height:1px;background:var(--border-subtle);margin:6px -6px}.tc-menu__hint{font:var(--t-caption);color:var(--fg-tertiary);padding:6px 12px 8px}.tc-toast-stack{position:fixed;right:20px;bottom:20px;z-index:1100;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none;max-width:calc(100vw - 40px)}.tc-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;min-width:280px;max-width:420px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--r-md);padding:12px 14px;box-shadow:var(--sh-2);animation:tc-toast-in var(--dur-base) var(--ease-standard)}@keyframes tc-toast-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.tc-toast--info{border-left-color:var(--status-info-fg)}.tc-toast--success{border-left-color:var(--status-success-fg)}.tc-toast--warn{border-left-color:var(--status-warn-fg)}.tc-toast--danger{border-left-color:var(--status-danger-fg)}.tc-toast__icon{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.tc-toast--info .tc-toast__icon{color:var(--status-info-fg)}.tc-toast--success .tc-toast__icon{color:var(--status-success-fg)}.tc-toast--warn .tc-toast__icon{color:var(--status-warn-fg)}.tc-toast--danger .tc-toast__icon{color:var(--status-danger-fg)}.tc-toast__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tc-toast__title,.tc-toast__msg{overflow-wrap:anywhere}.tc-toast__title{font:600 13px/1.3 var(--font-display);color:var(--fg-primary)}.tc-toast__msg{font:var(--t-body-sm);color:var(--fg-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tc-toast__close{background:none;border:0;cursor:pointer;color:var(--fg-tertiary);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);flex:none}.tc-toast__close:hover{color:var(--fg-primary);background:var(--bg-sunken)}@media(prefers-reduced-motion:reduce){.tc-toast{animation:none}}.tc-search{position:relative;display:inline-flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);height:36px;padding:0 12px;gap:8px;min-width:220px}.tc-search:focus-within{border-color:var(--border-focus);box-shadow:var(--sh-focus)}.tc-search input{border:0;outline:0;background:transparent;flex:1;min-width:0;font:var(--t-body-sm);color:var(--fg-primary)}.tc-search__clear{display:inline-flex;padding:4px;border:0;background:transparent;color:var(--fg-tertiary);cursor:pointer;border-radius:var(--r-sm)}.tc-search__clear:hover{color:var(--fg-primary)}.tc-empty{text-align:center;padding:80px 24px;color:var(--fg-tertiary)}.tc-empty--flush{padding:48px 24px}.tc-empty__title{font:var(--t-h3);font-size:20px;color:var(--fg-primary);margin:0}.tc-pager{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:14px 18px;border-top:1px solid var(--border-subtle);background:var(--bg-surface);font:var(--t-body-sm);color:var(--fg-secondary)}.tc-pager__group{display:inline-flex;align-items:center;gap:8px}.tc-pager__label{color:var(--fg-secondary)}.tc-pager__range{font-variant-numeric:tabular-nums;color:var(--fg-primary)}.tc-pager__select-wrap{position:relative;display:inline-flex;align-items:center}.tc-pager__select-wrap .tc-icon{position:absolute;right:4px;pointer-events:none;color:var(--fg-tertiary)}.tc-pager__select{appearance:none;-webkit-appearance:none;background:transparent;border:0;font:500 13px var(--font-display);color:var(--fg-primary);padding:4px 22px 4px 6px;cursor:pointer}.tc-pager__select:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:var(--r-sm)}.tc-pager__nav{display:inline-flex;gap:4px}.tc-pager__btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;cursor:pointer;border-radius:var(--r-sm);color:var(--fg-secondary)}.tc-pager__btn:hover:not(:disabled){background:var(--bg-sunken);color:var(--fg-primary)}.tc-pager__btn:disabled{color:var(--fg-disabled);cursor:not-allowed}@media(max-width:560px){.tc-pager{flex-wrap:wrap;gap:12px;justify-content:space-between}}
