*,:after,:before{box-sizing:border-box}:root{--tc-cyan:#21b4e2;--tc-cyan-600:#1a9acb;--tc-cyan-700:#1483ae;--tc-cyan-50:#e9f7fc;--tc-cyan-100:#d3effa;--tc-navy:#0a2540;--tc-navy-800:#12345a;--tc-navy-700:#1c4370;--tc-ink:#0a2540;--tc-text:#334155;--tc-muted:#64748b;--tc-subtle:#94a3b8;--tc-border:#e2e8f0;--tc-border-strong:#cbd5e1;--tc-surface:#fff;--tc-bg:#f5f7fa;--tc-hover:#f8fafc;--tc-green:#15803d;--tc-green-bg:#e8f6ee;--tc-amber:#b45309;--tc-amber-bg:#fdf3e2;--tc-red:#c2410c;--tc-red-strong:#dc2626;--tc-red-bg:#fdecea;--tc-grey-bg:#f1f5f9;--tc-radius-sm:6px;--tc-radius:10px;--tc-radius-lg:14px;--tc-shadow-sm:0 1px 2px #0a25400f;--tc-shadow:0 1px 3px #0a25400f,0 6px 16px -8px #0a25401a;--tc-shadow-lg:0 24px 48px -16px #0a254047;--tc-focus:0 0 0 3px #21b4e247;--tc-sidebar-w:248px;--tc-rail-w:72px;--tc-topbar-h:64px;--tc-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body,html{background:#f5f7fa;background:var(--tc-bg)}body{-webkit-font-smoothing:antialiased;color:#334155;color:var(--tc-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--tc-font);font-size:14px;line-height:1.5;padding:0!important}a{color:#1483ae;color:var(--tc-cyan-700)}a:hover{color:#0a2540;color:var(--tc-navy)}::selection{background:#d3effa;background:var(--tc-cyan-100)}.tc-shell{display:flex;min-height:100vh}.tc-main{display:flex;flex:1 1 auto;flex-direction:column;margin-left:248px;margin-left:var(--tc-sidebar-w);min-width:0;transition:margin-left .2s ease}.tc-shell.is-rail .tc-main{margin-left:72px;margin-left:var(--tc-rail-w)}.tc-content{flex:1 1 auto;max-width:1600px;padding:24px 32px 48px;width:100%}.tc-sidebar{background:#0a2540;background:var(--tc-navy);color:#ffffffb8;display:flex;flex-direction:column;inset:0 auto 0 0;position:fixed;transition:width .2s ease,transform .25s ease;width:248px;width:var(--tc-sidebar-w);z-index:1040}.tc-sidebar__brand{align-items:center;border-bottom:1px solid #ffffff14;display:flex;flex-shrink:0;height:64px;height:var(--tc-topbar-h);padding:0 20px}.tc-sidebar__brand img.tc-logo-full{height:34px;width:auto}.tc-sidebar__brand img.tc-logo-mark{display:none;height:34px;width:34px}.tc-sidebar__nav{flex:1 1 auto;overflow-y:auto;padding:12px 12px 24px;scrollbar-color:#ffffff2e #0000;scrollbar-width:thin}.tc-nav-group+.tc-nav-group{margin-top:16px}.tc-nav-group__label{color:#ffffff6b;font-size:11px;font-weight:600;letter-spacing:.06em;padding:0 12px 6px;text-transform:uppercase;white-space:nowrap}.tc-nav-link{align-items:center;border-radius:8px;color:#ffffffbd;display:flex;font-size:14px;font-weight:500;gap:12px;height:40px;padding:0 12px;position:relative;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap}.tc-nav-link i{color:#fff9;flex-shrink:0;font-size:18px;text-align:center;width:20px}.tc-nav-link:hover{background:#ffffff0f;color:#fff}.tc-nav-link:hover i{color:#fff}.tc-nav-link.active{background:#21b4e229;color:#fff}.tc-nav-link.active i{color:#21b4e2;color:var(--tc-cyan)}.tc-nav-link.active:before{background:#21b4e2;background:var(--tc-cyan);border-radius:0 3px 3px 0;bottom:8px;content:"";left:-12px;position:absolute;top:8px;width:3px}.tc-nav-link:focus-visible{box-shadow:0 0 0 3px #21b4e247;box-shadow:var(--tc-focus);outline:none}.tc-sidebar__foot{border-top:1px solid #ffffff14;color:#ffffff6b;font-size:12px;overflow:hidden;padding:12px 20px;white-space:nowrap}.tc-shell.is-rail .tc-sidebar{width:72px;width:var(--tc-rail-w)}.tc-shell.is-rail .tc-sidebar__brand{justify-content:center;padding:0}.tc-shell.is-rail .tc-sidebar__brand img.tc-logo-full{display:none}.tc-shell.is-rail .tc-sidebar__brand img.tc-logo-mark{display:block}.tc-shell.is-rail .tc-nav-group__label{background:#ffffff1a;font-size:0;height:1px;margin:0 12px 6px;padding:0}.tc-shell.is-rail .tc-nav-group:first-child .tc-nav-group__label{display:none}.tc-shell.is-rail .tc-nav-link{justify-content:center;padding:0}.tc-shell.is-rail .tc-nav-link span,.tc-shell.is-rail .tc-sidebar__foot{display:none}.tc-topbar{align-items:center;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);background:#ffffffeb;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);display:flex;gap:12px;height:64px;height:var(--tc-topbar-h);padding:0 32px 0 20px;position:sticky;top:0;z-index:1020}.tc-topbar__crumb{color:#64748b;color:var(--tc-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-topbar__crumb strong{color:#0a2540;color:var(--tc-ink);font-weight:600}.tc-topbar__crumb .sep{color:#94a3b8;color:var(--tc-subtle);margin:0 8px}.tc-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#64748b;color:var(--tc-muted);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:background .15s ease,color .15s ease;width:36px}.tc-icon-btn:hover{background:#f1f5f9;background:var(--tc-grey-bg);color:#0a2540;color:var(--tc-ink)}.tc-icon-btn:focus-visible{box-shadow:0 0 0 3px #21b4e247;box-shadow:var(--tc-focus);outline:none}.tc-topbar .tc-menu-btn{display:none}.tc-user{margin-left:auto;position:relative}.tc-user__btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:999px;cursor:pointer;display:flex;gap:10px;padding:4px 8px 4px 4px}.tc-user__btn:hover,.tc-user__btn[aria-expanded=true]{background:#f1f5f9;background:var(--tc-grey-bg)}.tc-user__btn:focus-visible{box-shadow:0 0 0 3px #21b4e247;box-shadow:var(--tc-focus);outline:none}.tc-user__meta{line-height:1.2;text-align:left}.tc-user__name{color:#0a2540;color:var(--tc-ink);display:block;font-size:13px;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-user__role{color:#64748b;color:var(--tc-muted);display:block;font-size:12px;text-transform:capitalize}.tc-avatar{align-items:center;background:linear-gradient(135deg,#21b4e2,#1c4370);background:linear-gradient(135deg,var(--tc-cyan) 0,var(--tc-navy-700) 100%);border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:13px;font-weight:700;height:36px;justify-content:center;letter-spacing:.02em;width:36px}.tc-avatar.lg{font-size:22px;height:64px;width:64px}.tc-menu{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--tc-border);border-radius:10px;border-radius:var(--tc-radius);box-shadow:0 24px 48px -16px #0a254047;box-shadow:var(--tc-shadow-lg);min-width:240px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:1050}.tc-menu__head{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);margin-bottom:6px;padding:10px 10px 12px}.tc-menu__head .n{color:#0a2540;color:var(--tc-ink);font-weight:600}.tc-menu__head .e{color:#64748b;color:var(--tc-muted);font-size:12px;word-break:break-all}.tc-menu__item{align-items:center;background:none;border:0;border-radius:6px;color:#334155;color:var(--tc-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;padding:8px 10px;text-align:left;text-decoration:none;width:100%}.tc-menu__item:hover{background:#f1f5f9;background:var(--tc-grey-bg);color:#0a2540;color:var(--tc-ink)}.tc-menu__item i{color:#64748b;color:var(--tc-muted);font-size:16px}.tc-scrim{display:none}@media (max-width:1023.98px){.tc-main,.tc-shell.is-rail .tc-main{margin-left:0}.tc-shell.is-rail .tc-sidebar,.tc-sidebar{transform:translateX(-100%);width:248px;width:var(--tc-sidebar-w)}.tc-shell.is-rail .tc-sidebar__brand{justify-content:flex-start;padding:0 20px}.tc-shell.is-rail .tc-sidebar__brand img.tc-logo-full{display:block}.tc-shell.is-rail .tc-sidebar__brand img.tc-logo-mark{display:none}.tc-shell.is-rail .tc-nav-link{justify-content:flex-start;padding:0 12px}.tc-shell.is-rail .tc-nav-link span,.tc-shell.is-rail .tc-sidebar__foot{display:block}.tc-shell.is-rail .tc-nav-group__label{background:none;font-size:11px;height:auto;margin:0;padding:0 12px 6px}.tc-shell.is-drawer-open .tc-sidebar{box-shadow:0 24px 48px -16px #0a254047;box-shadow:var(--tc-shadow-lg);transform:none}.tc-shell.is-drawer-open .tc-scrim{background:#020a1480;display:block;inset:0;position:fixed;z-index:1030}.tc-topbar .tc-menu-btn{display:inline-flex}.tc-topbar .tc-rail-btn{display:none}.tc-topbar{padding:0 16px}.tc-content{padding:20px 16px 40px}}@media (max-width:575.98px){.tc-user__meta{display:none}}.tc-page-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.tc-page-head h1{color:#0a2540;color:var(--tc-ink);font-size:24px;font-weight:700;letter-spacing:-.01em;line-height:32px;margin:0}.tc-page-head p{color:#64748b;color:var(--tc-muted);font-size:14px;margin:4px 0 0;max-width:760px}.tc-page-head__actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tc-app .alert[class*=alert-soft-],.tc-callout{align-items:flex-start;background:#e9f7fc;background:var(--tc-cyan-50);border:1px solid #d3effa;border:1px solid var(--tc-cyan-100);border-radius:10px;border-radius:var(--tc-radius);color:#0a2540;color:var(--tc-navy);display:flex;font-size:13px;gap:12px;line-height:1.55;margin-bottom:20px;padding:12px 16px}.tc-app .alert[class*=alert-soft-]>i:first-child,.tc-callout>i{color:#1483ae;color:var(--tc-cyan-700);flex-shrink:0;font-size:16px;margin-top:1px}.tc-app .alert.alert-soft-warning,.tc-callout.warn{background:#fdf3e2;background:var(--tc-amber-bg);border-color:#f6dfb4;color:#6b3a07}.tc-app .alert.alert-soft-warning>i:first-child,.tc-callout.warn>i{color:#b45309;color:var(--tc-amber)}.modal .alert.alert-soft-danger,.tc-app .alert.alert-soft-danger,.tc-callout.danger{background:#fdecea;background:var(--tc-red-bg);border-color:#f8cfc9;color:#7a1d0c}.tc-app .alert.alert-soft-danger>i:first-child,.tc-callout.danger>i{color:#dc2626;color:var(--tc-red-strong)}.tc-callout .grow{flex:1 1 auto}.tc-app .card,.tc-card{background:#fff;background:var(--tc-surface);border:1px solid #e2e8f0;border:1px solid var(--tc-border);border-radius:14px;border-radius:var(--tc-radius-lg);box-shadow:0 1px 2px #0a25400f;box-shadow:var(--tc-shadow-sm);color:#334155;color:var(--tc-text);margin-bottom:24px}.tc-app .card.stretch,.tc-app .card.stretch-full{height:auto}.tc-app .card .card-header,.tc-card__head{align-items:center;background:#0000;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;min-height:60px;padding:16px 20px}.tc-app .card .card-title,.tc-card__title{align-items:center;color:#0a2540;color:var(--tc-ink);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.tc-card__title .count{background:#f1f5f9;background:var(--tc-grey-bg);border-radius:999px;color:#64748b;color:var(--tc-muted);font-size:12px;font-weight:600;padding:2px 8px}.tc-card__sub{color:#64748b;color:var(--tc-muted);font-size:13px;margin:2px 0 0}.tc-app .card .card-body,.tc-card__body{padding:20px}.tc-app .card .card-footer,.tc-card__foot{background:#0000;border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border);padding:12px 20px}.modal .btn,.tc-app .btn,.tc-btn{align-items:center;border:1px solid #0000;border-radius:8px;box-shadow:none;display:inline-flex;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--tc-font);font-size:14px;font-weight:600;gap:6px;height:38px;justify-content:center;letter-spacing:0;line-height:1;padding:0 16px;text-transform:none;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.modal .btn i,.tc-app .btn i{font-size:15px}.modal .btn-sm,.tc-app .btn-sm{border-radius:7px;font-size:13px;height:32px;padding:0 12px}.tc-app .btn-lg{font-size:15px;height:46px}.modal .btn:focus-visible,.tc-app .btn:focus-visible{box-shadow:0 0 0 3px #21b4e247!important;box-shadow:var(--tc-focus)!important;outline:none}.modal .btn:disabled,.tc-app .btn:disabled{cursor:not-allowed;opacity:.5}.modal .btn-primary,.tc-app .btn-primary{background:#0a2540!important;background:var(--tc-navy)!important;border-color:#0a2540!important;border-color:var(--tc-navy)!important;color:#fff!important}.modal .btn-primary:hover:not(:disabled),.tc-app .btn-primary:hover:not(:disabled){background:#1c4370!important;background:var(--tc-navy-700)!important;border-color:#1c4370!important;border-color:var(--tc-navy-700)!important}.modal .btn-light,.modal .btn-light-brand,.modal .btn-outline-secondary,.tc-app .btn-light,.tc-app .btn-light-brand,.tc-app .btn-outline-secondary{background:#fff!important;border-color:#cbd5e1!important;border-color:var(--tc-border-strong)!important;color:#0a2540!important;color:var(--tc-ink)!important}.modal .btn-light-brand:hover:not(:disabled),.modal .btn-light:hover:not(:disabled),.modal .btn-outline-secondary:hover:not(:disabled),.tc-app .btn-light-brand:hover:not(:disabled),.tc-app .btn-light:hover:not(:disabled),.tc-app .btn-outline-secondary:hover:not(:disabled){background:#f8fafc!important;background:var(--tc-hover)!important;border-color:#94a3b8!important;border-color:var(--tc-subtle)!important}.modal .btn-outline-primary,.tc-app .btn-outline-primary{background:#fff!important;border-color:#0a2540!important;border-color:var(--tc-navy)!important;color:#0a2540!important;color:var(--tc-navy)!important}.modal .btn-outline-primary:hover:not(:disabled),.tc-app .btn-outline-primary:hover:not(:disabled){background:#0a2540!important;background:var(--tc-navy)!important;color:#fff!important}.modal .btn-danger,.tc-app .btn-danger{background:#dc2626!important;background:var(--tc-red-strong)!important;border-color:#dc2626!important;border-color:var(--tc-red-strong)!important;color:#fff!important}.modal .btn-danger:hover:not(:disabled),.tc-app .btn-danger:hover:not(:disabled){background:#b91c1c!important}.modal .btn-secondary,.tc-app .btn-secondary{background:#64748b!important;background:var(--tc-muted)!important;border-color:#64748b!important;border-color:var(--tc-muted)!important;color:#fff!important}.modal .btn-outline-danger,.tc-app .btn-outline-danger{background:#fff!important;border-color:#f3b7b0!important;color:#dc2626!important;color:var(--tc-red-strong)!important}.modal .btn-outline-danger:hover:not(:disabled),.tc-app .btn-outline-danger:hover:not(:disabled){background:#fdecea!important;background:var(--tc-red-bg)!important}.tc-app .btn.btn-icon,.tc-app td .btn-sm:not(.btn-outline-danger):not(.btn-outline-secondary):not(.btn-outline-primary){padding:0;width:32px}.tc-app .btn-soft-danger,.tc-app .btn-soft-info,.tc-app .btn-soft-primary{background:#fff!important;border-color:#e2e8f0!important;border-color:var(--tc-border)!important;color:#64748b!important;color:var(--tc-muted)!important}.tc-app .btn-soft-info:hover:not(:disabled),.tc-app .btn-soft-primary:hover:not(:disabled){background:#e9f7fc!important;background:var(--tc-cyan-50)!important;border-color:#21b4e2!important;border-color:var(--tc-cyan)!important;color:#1483ae!important;color:var(--tc-cyan-700)!important}.tc-app .btn-soft-danger:hover:not(:disabled){background:#fdecea!important;background:var(--tc-red-bg)!important;border-color:#f3b7b0!important;color:#dc2626!important;color:var(--tc-red-strong)!important}.modal .btn-soft-danger{background:#fff!important;border:1px solid #f3b7b0!important;color:#dc2626!important;color:var(--tc-red-strong)!important}.modal .form-control,.modal .form-select,.tc-app .form-control,.tc-app .form-select{background-color:#fff;border:1px solid #cbd5e1;border:1px solid var(--tc-border-strong);border-radius:8px;box-shadow:none;color:#0a2540;color:var(--tc-ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--tc-font);font-size:14px;height:40px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease}.modal .form-select,.tc-app .form-select{padding-right:34px}.modal textarea.form-control,.tc-app textarea.form-control{height:auto;min-height:96px}.tc-app .form-control-sm,.tc-app .form-select-sm{font-size:13px;height:36px}.modal .form-control::placeholder,.tc-app .form-control::placeholder{color:#94a3b8;color:var(--tc-subtle)}.modal .form-control:focus,.modal .form-select:focus,.tc-app .form-control:focus,.tc-app .form-select:focus{border-color:#21b4e2!important;border-color:var(--tc-cyan)!important;box-shadow:0 0 0 3px #21b4e247!important;box-shadow:var(--tc-focus)!important;outline:none}.modal .form-control:disabled,.tc-app .form-control:disabled{background:#f1f5f9;background:var(--tc-grey-bg);color:#64748b;color:var(--tc-muted)}.tc-app .form-control.is-invalid{border-color:#dc2626;border-color:var(--tc-red-strong)}.modal .form-label,.tc-app .form-label{color:#0a2540;color:var(--tc-ink);font-size:13px;font-weight:600;margin-bottom:6px}.modal .form-check-input,.tc-app .form-check-input{border-color:#cbd5e1;border-color:var(--tc-border-strong)}.modal .form-check-input:checked,.tc-app .form-check-input:checked{background-color:#21b4e2;background-color:var(--tc-cyan);border-color:#21b4e2;border-color:var(--tc-cyan)}.modal .form-check-input:focus,.tc-app .form-check-input:focus{border-color:#21b4e2;border-color:var(--tc-cyan);box-shadow:0 0 0 3px #21b4e247;box-shadow:var(--tc-focus)}.modal .form-check-label{color:#334155;color:var(--tc-text)}.modal .input-group-text,.tc-app .input-group-text{background:#f1f5f9;background:var(--tc-grey-bg);border-color:#cbd5e1;border-color:var(--tc-border-strong);color:#64748b;color:var(--tc-muted);font-size:13px}.tc-help{color:#64748b;color:var(--tc-muted);display:block;font-size:12px;line-height:1.45;margin-top:6px}.form-error,.tc-field-error{color:#dc2626;color:var(--tc-red-strong);font-size:12px;margin:6px 0 0}.tc-search{position:relative}.tc-search i{color:#94a3b8;color:var(--tc-subtle);font-size:15px;left:11px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tc-app .tc-search .form-control{padding-left:34px}.modal .table-responsive,.tc-app .table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto;position:relative}.modal .table,.tc-app .table{border-color:#e2e8f0;border-color:var(--tc-border);color:#334155;color:var(--tc-text);font-size:14px;margin:0!important}.modal .table thead th,.tc-app .table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);color:#64748b;color:var(--tc-muted);font-size:12px;font-weight:600;letter-spacing:.02em;padding:10px 14px;text-transform:none;white-space:nowrap}.modal .table tr td,.tc-app .table tbody td,.tc-app .table tr td{border-color:#e2e8f0;border-color:var(--tc-border);padding:12px 14px;vertical-align:middle;white-space:nowrap}.tc-app .table tbody tr:last-child td{border-bottom:0}.tc-app .table-hover tbody tr:hover>*{--bs-table-accent-bg:#0000;background:#f8fafc;background:var(--tc-hover)}.tc-app .table td:first-child,.tc-app .table th:first-child{padding-left:20px}.tc-app .table td:last-child,.tc-app .table th:last-child{padding-right:16px}.tc-app .table .tc-actions{background:#fff;box-shadow:-10px 0 10px -10px #0a25402e;position:sticky;right:0;z-index:1}.tc-app .table thead .tc-actions{background:#f8fafc}.modal .table-sm td,.modal .table-sm th,.tc-app .table-sm td,.tc-app .table-sm th{padding:8px 12px!important}.tc-app .table .num,.tc-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tc-cell-strong{color:#0a2540;color:var(--tc-ink);font-weight:600}.tc-cell-wrap{max-width:320px;min-width:180px;white-space:normal!important}.tc-cell-muted{color:#64748b;color:var(--tc-muted);font-size:13px}.tc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;letter-spacing:.01em}.tc-toolbar{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px}.tc-toolbar .tc-search{flex:1 1 240px;max-width:320px}.tc-toolbar .form-select{flex:0 0 auto;min-width:150px;width:auto}.tc-toolbar .spacer{flex:1 1 auto}.tc-link-btn{background:none;border:0;color:#1483ae;color:var(--tc-cyan-700);cursor:pointer;font-size:13px;font-weight:600;padding:0 4px}.tc-link-btn:hover{color:#0a2540;color:var(--tc-navy);text-decoration:underline}.tc-pager{border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border);color:#64748b;color:var(--tc-muted);flex-wrap:wrap;font-size:13px;gap:12px;justify-content:space-between;padding:12px 20px}.tc-pager,.tc-pager__pages{align-items:center;display:flex}.tc-pager__pages{gap:4px}.tc-page-btn{font-feature-settings:"tnum";align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--tc-border);border-radius:7px;color:#0a2540;color:var(--tc-ink);cursor:pointer;display:inline-flex;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;height:32px;justify-content:center;min-width:32px;padding:0 8px}.tc-page-btn:hover:not(:disabled){background:#f8fafc;background:var(--tc-hover);border-color:#94a3b8;border-color:var(--tc-subtle)}.tc-page-btn.is-active{background:#0a2540;background:var(--tc-navy);border-color:#0a2540;border-color:var(--tc-navy);color:#fff}.tc-page-btn:disabled{cursor:not-allowed;opacity:.45}.tc-page-btn:focus-visible{box-shadow:0 0 0 3px #21b4e247;box-shadow:var(--tc-focus);outline:none}.modal .badge,.tc-app .badge,.tc-badge{align-items:center;background:#f1f5f9;background:var(--tc-grey-bg);border-radius:999px;color:#334155;color:var(--tc-text);display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:0;line-height:18px;padding:3px 10px;text-transform:none;white-space:nowrap}.modal .badge[class*=bg-soft-]:before,.tc-app .badge[class*=bg-soft-]:before,.tc-badge:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.tc-app .badge.tc-badge--plain:before{display:none}.modal .bg-soft-success,.tc-app .bg-soft-success,.tc-badge.success{background:#e8f6ee!important;background:var(--tc-green-bg)!important;color:#15803d!important;color:var(--tc-green)!important}.modal .bg-soft-warning,.tc-app .bg-soft-warning,.tc-badge.warning{background:#fdf3e2!important;background:var(--tc-amber-bg)!important;color:#b45309!important;color:var(--tc-amber)!important}.modal .bg-soft-danger,.tc-app .bg-soft-danger,.tc-badge.danger{background:#fdecea!important;background:var(--tc-red-bg)!important;color:#c2410c!important;color:var(--tc-red)!important}.modal .bg-soft-info,.tc-app .bg-soft-info,.tc-badge.info{background:#e9f7fc!important;background:var(--tc-cyan-50)!important;color:#1483ae!important;color:var(--tc-cyan-700)!important}.modal .bg-soft-primary,.tc-app .bg-soft-primary,.tc-badge.primary{background:#e8eef6!important;color:#1c4370!important;color:var(--tc-navy-700)!important}.modal .bg-soft-secondary,.tc-app .bg-soft-secondary,.tc-badge.neutral{background:#f1f5f9!important;background:var(--tc-grey-bg)!important;color:#64748b!important;color:var(--tc-muted)!important}.modal .text-primary,.tc-app .text-primary{color:#0a2540!important;color:var(--tc-navy)!important}.tc-app .text-info{color:#1483ae!important;color:var(--tc-cyan-700)!important}.tc-app .text-success{color:#15803d!important;color:var(--tc-green)!important}.tc-app .text-danger{color:#dc2626!important;color:var(--tc-red-strong)!important}.modal .text-muted,.tc-app .text-muted{color:#64748b!important;color:var(--tc-muted)!important}.tc-app .text-dark{color:#0a2540!important;color:var(--tc-ink)!important}.tc-app .spinner-border.text-primary{color:#21b4e2!important;color:var(--tc-cyan)!important}.tc-grid{grid-gap:16px;display:grid;gap:16px}.tc-grid--kpi{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.tc-grid--2{gap:24px;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.tc-grid--2>.card,.tc-grid--2>.tc-card{margin-bottom:0}.tc-grid--halves{gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.tc-grid--halves>.tc-card{margin-bottom:0}.tc-stack>*+*{margin-top:24px}@media (max-width:1279.98px){.tc-grid--kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-grid--2,.tc-grid--halves{grid-template-columns:minmax(0,1fr)}}@media (max-width:575.98px){.tc-grid--kpi{grid-template-columns:minmax(0,1fr)}}.tc-stat{background:#fff;background:var(--tc-surface);border:1px solid #e2e8f0;border:1px solid var(--tc-border);border-radius:14px;border-radius:var(--tc-radius-lg);box-shadow:0 1px 2px #0a25400f;box-shadow:var(--tc-shadow-sm);display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px}.tc-stat__top{align-items:center;display:flex;gap:12px;justify-content:space-between}.tc-stat__label{color:#64748b;color:var(--tc-muted);font-size:13px;font-weight:500}.tc-stat__icon{align-items:center;background:#e9f7fc;background:var(--tc-cyan-50);border-radius:10px;color:#1483ae;color:var(--tc-cyan-700);display:inline-flex;flex-shrink:0;font-size:17px;height:36px;justify-content:center;width:36px}.tc-stat__icon.navy{background:#e8eef6;color:#1c4370;color:var(--tc-navy-700)}.tc-stat__icon.green{background:#e8f6ee;background:var(--tc-green-bg);color:#15803d;color:var(--tc-green)}.tc-stat__icon.red{background:#fdecea;background:var(--tc-red-bg);color:#c2410c;color:var(--tc-red)}.tc-stat__value{color:#0a2540;color:var(--tc-ink);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-stat__foot{color:#64748b;color:var(--tc-muted);font-size:13px}.tc-stat__foot strong{color:#0a2540;color:var(--tc-ink);font-weight:600}.tc-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.tc-strip__item{border-left:1px solid #e2e8f0;border-left:1px solid var(--tc-border);min-width:0;padding:16px 20px}.tc-strip__item:first-child{border-left:0}.tc-strip__label{align-items:center;color:#64748b;color:var(--tc-muted);display:flex;font-size:13px;gap:8px}.tc-strip__label .dot{background:#94a3b8;background:var(--tc-subtle);border-radius:50%;height:8px;width:8px}.tc-strip__value{font-feature-settings:"tnum";color:#0a2540;color:var(--tc-ink);font-size:20px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:4px}@media (max-width:767.98px){.tc-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-strip__item:nth-child(3){border-left:0}.tc-strip__item:nth-child(n+3){border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border)}}.tc-rank{list-style:none;margin:0;padding:8px 20px 16px}.tc-rank li{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);padding:10px 0}.tc-rank li:last-child{border-bottom:0}.tc-rank__row{align-items:baseline;display:flex;font-size:14px;gap:12px;justify-content:space-between}.tc-rank__name{color:#0a2540;color:var(--tc-ink);font-weight:600}.tc-rank__meta{font-feature-settings:"tnum";color:#64748b;color:var(--tc-muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.tc-rank__bar{background:#f1f5f9;background:var(--tc-grey-bg);border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.tc-rank__bar span{background:#1a9acb;background:var(--tc-cyan-600);border-radius:3px;display:block;height:100%}.tc-chart{padding:8px 20px 16px;position:relative}.tc-chart svg{display:block;height:auto;overflow:visible;width:100%}.tc-chart .axis text{fill:#64748b;fill:var(--tc-muted);font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums}.tc-chart .grid line{stroke:#e2e8f0;stroke:var(--tc-border);stroke-width:1;shape-rendering:crispEdges}.tc-chart .baseline{stroke:#cbd5e1;stroke:var(--tc-border-strong);stroke-width:1;shape-rendering:crispEdges}.tc-chart .bar{fill:#1a9acb;fill:var(--tc-cyan-600)}.tc-chart .hit{fill:#0000;cursor:default}.tc-chart .hit.is-hover,.tc-chart .hit:hover{fill:#0a25400a}.tc-chart .val-label{fill:#0a2540;fill:var(--tc-ink);font-size:11px;font-weight:600}.tc-tip{background:#0a2540;background:var(--tc-navy);border-radius:8px;box-shadow:0 24px 48px -16px #0a254047;box-shadow:var(--tc-shadow-lg);color:#fff;font-size:12px;line-height:1.45;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%,calc(-100% - 10px));white-space:nowrap;z-index:5}.tc-tip .t{color:#ffffffb3;margin-bottom:2px}.tc-tip strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tc-empty{color:#64748b;color:var(--tc-muted);padding:48px 24px;text-align:center}.tc-empty__icon{align-items:center;background:#f1f5f9;background:var(--tc-grey-bg);border-radius:50%;color:#94a3b8;color:var(--tc-subtle);display:flex;font-size:20px;height:48px;justify-content:center;margin:0 auto 12px;width:48px}.tc-empty__title{color:#0a2540;color:var(--tc-ink);font-size:15px;font-weight:600;margin:0 0 4px}.tc-empty__text{font-size:13px;margin:0 auto;max-width:420px}.tc-empty .btn{margin-top:16px}.tc-empty--error .tc-empty__icon{background:#fdecea;background:var(--tc-red-bg);color:#dc2626;color:var(--tc-red-strong)}.tc-skel{animation:tc-shimmer 1.3s ease-in-out infinite;background:linear-gradient(90deg,#eef2f6,#f7f9fb 50%,#eef2f6);background-size:200% 100%;border-radius:6px;display:inline-block;height:12px;vertical-align:middle;width:100%}.tc-skel.lg{border-radius:8px;height:28px}.tc-skel.block{display:block}@keyframes tc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.tc-skel{animation:none}}.modal-backdrop.show{background:#020a14;opacity:.5}.modal .modal-content{border:0;border-radius:14px;border-radius:var(--tc-radius-lg);box-shadow:0 24px 48px -16px #0a254047;box-shadow:var(--tc-shadow-lg);color:#334155;color:var(--tc-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--tc-font)}.modal .modal-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);padding:18px 24px}.modal .modal-title{color:#0a2540;color:var(--tc-ink);font-size:17px;font-weight:700}.modal .modal-body{padding:24px}.modal .modal-footer{background:#fbfcfd;border-radius:0 0 14px 14px;border-radius:0 0 var(--tc-radius-lg) var(--tc-radius-lg);border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border);gap:8px;padding:14px 24px}.modal .modal-footer>*{margin:0}.modal .btn-close:focus{box-shadow:0 0 0 3px #21b4e247;box-shadow:var(--tc-focus)}.tc-dialog-scrim{align-items:center;background:#020a1480;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:2000}.tc-dialog{background:#fff;border-radius:14px;border-radius:var(--tc-radius-lg);box-shadow:0 24px 48px -16px #0a254047;box-shadow:var(--tc-shadow-lg);max-height:calc(100vh - 32px);overflow:auto;width:min(460px,100%)}.tc-dialog.wide{width:min(720px,100%)}.tc-dialog__body{padding:24px}.tc-dialog__body h2,.tc-dialog__body h5{color:#0a2540;color:var(--tc-ink);font-size:17px;font-weight:700;margin:0 0 8px}.tc-dialog__body p{color:#64748b;color:var(--tc-muted);margin:0}.tc-dialog__foot{background:#fbfcfd;border-radius:0 0 14px 14px;border-radius:0 0 var(--tc-radius-lg) var(--tc-radius-lg);border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border);display:flex;gap:8px;justify-content:flex-end;padding:14px 24px}.tc-dialog__icon{align-items:center;background:#fdecea;background:var(--tc-red-bg);border-radius:50%;color:#dc2626;color:var(--tc-red-strong);display:inline-flex;font-size:18px;height:40px;justify-content:center;margin-bottom:12px;width:40px}.tc-kv{display:grid;grid-template-columns:180px minmax(0,1fr);margin:0}.tc-kv dd,.tc-kv dt{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--tc-border);line-height:22px;margin:0;padding:12px 0}.tc-kv dt{color:#64748b;color:var(--tc-muted);font-size:13px;font-weight:500}.tc-kv dd{color:#0a2540;color:var(--tc-ink);word-break:break-word}.tc-kv dd:last-of-type,.tc-kv dt:last-of-type{border-bottom:0}@media (max-width:575.98px){.tc-kv{grid-template-columns:minmax(0,1fr)}.tc-kv dt{border-bottom:0;padding-bottom:0}}.tc-section+.tc-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border)}.tc-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:240px minmax(0,1fr);padding:24px 20px}.tc-section__intro h3{color:#0a2540;color:var(--tc-ink);font-size:15px;font-weight:600;margin:0 0 4px}.tc-section__intro p{color:#64748b;color:var(--tc-muted);font-size:13px;margin:0}@media (max-width:991.98px){.tc-section{gap:12px;grid-template-columns:minmax(0,1fr)}}.tc-switch-row{display:flex;flex-wrap:wrap;gap:24px}.tc-auth{background:#fff;display:grid;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--tc-font);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh}.tc-auth__brand{background:radial-gradient(120% 90% at 0 0,#12406b 0,#0a2540 55%,#061a2e 100%);background:radial-gradient(120% 90% at 0 0,#12406b 0,var(--tc-navy) 55%,#061a2e 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:48px;position:relative}.tc-auth__brand:after{border:1px solid #21b4e259;border-radius:50%;bottom:-160px;box-shadow:0 0 0 60px #21b4e20d,0 0 0 120px rgba(33,180,226,.035);content:"";height:460px;position:absolute;right:-160px;width:460px}.tc-auth__brand img{align-self:flex-start;height:40px;width:auto}.tc-auth__brand h2{color:#fff;font-size:32px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 12px;max-width:420px}.tc-auth__brand p{color:#ffffffb8;font-size:15px;margin:0;max-width:420px}.tc-auth__brand small{color:#ffffff80;font-size:12px;position:relative;z-index:1}.tc-auth__form{align-items:center;display:flex;justify-content:center;padding:48px 24px}.tc-auth__card{width:min(400px,100%)}.tc-auth__card h1{color:#0a2540;color:var(--tc-ink);font-size:26px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.tc-auth__card>p{color:#64748b;color:var(--tc-muted);margin:0 0 32px}.tc-auth__mobile-logo{display:none;height:34px;margin-bottom:32px}.tc-pw{position:relative}.tc-pw .form-control{padding-right:44px}.tc-pw button{position:absolute;right:4px;top:50%;transform:translateY(-50%)}@media (max-width:899.98px){.tc-auth{grid-template-columns:minmax(0,1fr)}.tc-auth__brand{display:none}.tc-auth__mobile-logo{display:block}}.tc-toast{border:1px solid #e2e8f0;border:1px solid var(--tc-border);border-radius:10px!important;box-shadow:0 24px 48px -16px #0a254047!important;box-shadow:var(--tc-shadow-lg)!important;color:#0a2540!important;color:var(--tc-ink)!important;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;font-family:var(--tc-font)!important;font-size:14px!important}.tc-muted,.tc-note{color:#64748b;color:var(--tc-muted)}.tc-note{font-size:12px;margin:0}.tc-row-gap{row-gap:16px}.tc-image-preview{align-items:center;display:flex;gap:12px;margin-top:10px}.tc-image-preview img{border:1px solid #e2e8f0;border:1px solid var(--tc-border);border-radius:8px;height:80px}.tc-form-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--tc-border,#e6ecf4);color:#64748b;color:var(--tc-muted,#54688a);font-size:12px;font-weight:700;letter-spacing:.08em;margin-top:6px;padding-top:14px;text-transform:uppercase}.row>.tc-form-section:first-child{border-top:0;margin-top:0;padding-top:0}.tc-upper{text-transform:uppercase}.tc-upper::placeholder{text-transform:none}