@font-face{font-family:Inter UI;src:url(/fonts/Inter_18pt-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Inter UI;src:url(/fonts/Inter-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}.ts-ui{--bg:#f6f6f7;--surface:#ffffff;--surface-2:#f3f4f6;--surface-3:#eaecf0;--line:#e6e8ec;--line-strong:#d3d7de;--ink:#121418;--ink-2:#4a5059;--ink-3:#7b818b;--ink-4:#a6abb4;--accent:#b07d2a;--accent-hover:#9a6b1f;--accent-soft:#f7efdf;--accent-ink:#ffffff;--accent-ring:rgba(176,125,42,.28);--success:#15803d;--success-soft:#e6f6ec;--warning:#b45309;--warning-soft:#fdf2e3;--danger:#b91c1c;--danger-soft:#fdeaea;--info:#1d4ed8;--info-soft:#e9effd;--radius-sm:8px;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px rgba(18,20,24,.05),0 0 0 1px rgba(18,20,24,.035);--shadow-md:0 8px 24px rgba(18,20,24,.08),0 1px 2px rgba(18,20,24,.05);--shadow-lg:0 24px 64px rgba(18,20,24,.16),0 2px 6px rgba(18,20,24,.06);--ease:cubic-bezier(.2,.8,.2,1);--dur:180ms;font-family:Inter UI,Inter,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ts-ui *,.ts-ui :after,.ts-ui :before{box-sizing:border-box}.ts-ui :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.ts-ui button,.ts-ui input,.ts-ui select,.ts-ui textarea{font:inherit;color:inherit}.ts-ui a{color:var(--accent-hover);text-decoration:none}.ts-ui a:hover{text-decoration:underline}.ts-ui h1,.ts-ui h2,.ts-ui h3{margin:0;letter-spacing:-.01em;font-weight:600}.ts-ui h1{font-size:22px}.ts-ui h2{font-size:16px}.ts-ui h3{font-size:14px}.ts-ui p{margin:0}.ts-ui .muted{color:var(--ink-3)}.ts-ui .mono,.ts-ui .small{font-size:12.5px}.ts-ui .mono{font-family:SF Mono,Menlo,Consolas,monospace}@media (prefers-reduced-motion:reduce){.ts-ui *{transition:none!important;animation:none!important}}@keyframes ts-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes ts-fade{0%{opacity:0}to{opacity:1}}@keyframes ts-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes ts-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ts-ui .fade-up{animation:ts-fade-up var(--dur) var(--ease) backwards}.ts-ui .btn{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);box-shadow:var(--shadow-sm)}.ts-ui .btn:hover{background:var(--surface-2)}.ts-ui .btn:active{transform:translateY(1px)}.ts-ui .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ts-ui .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px rgba(176,125,42,.35),inset 0 1px 0 rgba(255,255,255,.18)}.ts-ui .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);filter:none}.ts-ui .btn.ghost{border-color:transparent;box-shadow:none;background:transparent}.ts-ui .btn.ghost:hover{background:var(--surface-2)}.ts-ui .btn.danger{color:var(--danger)}.ts-ui .btn.danger:hover{background:var(--danger-soft);border-color:#f1b8b8}.ts-ui .btn.danger.solid{background:var(--danger);border-color:var(--danger);color:#fff}.ts-ui .btn.danger.solid:hover{background:#991b1b}.ts-ui .btn.success{color:var(--success)}.ts-ui .btn.success:hover{background:var(--success-soft);border-color:#b7e4c5}.ts-ui .btn.sm{height:30px;padding:0 10px;font-size:12.5px;border-radius:8px}.ts-ui .btn.lg{height:44px;padding:0 20px;font-size:14.5px;border-radius:12px}.ts-ui .btn.icon{width:36px;padding:0}.ts-ui .btn.icon.sm{width:30px}.ts-ui .btn.block{width:100%}.ts-ui .btn svg{width:16px;height:16px;flex:none}.ts-ui .field{display:grid;grid-gap:6px;gap:6px;align-content:start;margin:0;font-size:inherit;color:inherit}.ts-ui .field>label,.ts-ui .label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.ts-ui .field .help{font-size:12px;color:var(--ink-3)}.ts-ui .field .error{font-size:12px;color:var(--danger);min-height:16px}.ts-ui .field .input,.ts-ui .input,.ts-ui .select,.ts-ui .textarea{width:100%;height:38px;padding:0 12px;margin:0;font-size:14px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);transition:border-color var(--dur),box-shadow var(--dur)}.ts-ui .textarea{height:auto;min-height:88px;padding:10px 12px;resize:vertical;font-size:14px}.ts-ui .input:hover,.ts-ui .select:hover,.ts-ui .textarea:hover{border-color:#bfc4cc}.ts-ui .input:focus,.ts-ui .select:focus,.ts-ui .textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.ts-ui .input[aria-invalid=true],.ts-ui .select[aria-invalid=true],.ts-ui .textarea[aria-invalid=true]{border-color:#e08a8a}.ts-ui .input::placeholder{color:var(--ink-4)}.ts-ui .select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237b818b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.ts-ui .input-group{display:grid;grid-template-columns:88px 1fr;grid-gap:8px;gap:8px}.ts-ui .inline-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.ts-ui .check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13.5px}.ts-ui .check input{width:16px;height:16px;accent-color:var(--accent)}.ts-ui .switch{position:relative;display:inline-flex;align-items:center;width:38px;height:22px;flex:none;border:0;background:none;border-radius:999px}.ts-ui .switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.ts-ui .switch i{position:absolute;inset:0;width:auto;height:auto;border-radius:999px;background:var(--line-strong);transition:background var(--dur) var(--ease)}.ts-ui .switch i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform var(--dur) var(--ease)}.ts-ui .switch input:checked+i{background:var(--accent)}.ts-ui .switch input:checked+i:after{transform:translateX(16px)}.ts-ui .switch input:focus-visible+i{box-shadow:0 0 0 3px var(--accent-ring)}.ts-ui .switch input:disabled+i{opacity:.5}.ts-ui .badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.ts-ui .badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.ts-ui .badge.active,.ts-ui .badge.sent,.ts-ui .badge.success{background:var(--success-soft);color:var(--success)}.ts-ui .badge.pending,.ts-ui .badge.queued,.ts-ui .badge.warning{background:var(--warning-soft);color:var(--warning)}.ts-ui .badge.blocked,.ts-ui .badge.danger,.ts-ui .badge.failed,.ts-ui .badge.rejected{background:var(--danger-soft);color:var(--danger)}.ts-ui .badge.info{background:var(--info-soft);color:var(--info)}.ts-ui .badge.plain:before{display:none}.ts-ui .badge.accent{background:var(--accent-soft);color:var(--accent-hover)}.ts-ui .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.ts-ui .card.pad{padding:20px}.ts-ui .card.pad-sm{padding:14px 16px}.ts-ui .card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.ts-ui .card-head h2{font-size:14.5px}.ts-ui .card-body{padding:16px}.ts-ui .stack{display:grid;grid-gap:14px;gap:14px}.ts-ui .row{display:flex;align-items:center;gap:10px}.ts-ui .row.between{justify-content:space-between}.ts-ui .row.wrap{flex-wrap:wrap}.ts-ui .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.ts-ui .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.ts-ui .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1100px){.ts-ui .grid-3,.ts-ui .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.ts-ui .grid-2,.ts-ui .grid-3,.ts-ui .grid-4{grid-template-columns:1fr}}.ts-ui .divider{height:1px;background:var(--line);margin:4px 0}.ts-ui .stat{padding:16px 18px;display:grid;grid-gap:6px;gap:6px}.ts-ui .stat .k{font-size:12.5px;font-weight:600;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase}.ts-ui .stat .v{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.ts-ui .stat .d{font-size:12.5px;color:var(--ink-3)}.ts-ui .stat .v.warn{color:var(--warning)}.ts-ui .stat .v.bad{color:var(--danger)}.ts-ui .page{padding:24px 28px 48px;max-width:1320px;margin:0 auto;animation:ts-fade-up .22s var(--ease) backwards}.ts-ui .page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.ts-ui .page-head .crumbs{font-size:12.5px;color:var(--ink-3);margin-bottom:6px;display:flex;gap:6px;align-items:center}.ts-ui .page-head .crumbs a{color:var(--ink-3)}.ts-ui .page-head .sub{color:var(--ink-3);margin-top:4px}.ts-ui .page-head .actions{display:flex;gap:8px;flex:none}.ts-ui .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.ts-ui .toolbar .search{position:relative;flex:1 1;min-width:220px;max-width:420px;padding:0;margin:0;border:0;background:none}.ts-ui .toolbar .search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-4)}.ts-ui .toolbar .search .input{padding-left:34px}.ts-ui .toolbar .select{width:auto;min-width:150px}.ts-ui .seg{display:inline-flex;background:var(--surface-2);border-radius:10px;padding:3px;gap:2px;color:inherit;font-size:inherit;white-space:nowrap}.ts-ui .seg button{height:30px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink-2);font-weight:600;font-size:12.5px;cursor:pointer;transition:background var(--dur),color var(--dur),box-shadow var(--dur)}.ts-ui .seg button.on{color:var(--ink)}.ts-ui .seg button.on,.ts-ui .table-wrap{background:var(--surface);box-shadow:var(--shadow-sm)}.ts-ui .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}.ts-ui table.table{width:100%;border-collapse:collapse;font-size:13.5px}.ts-ui .table th{text-align:left;font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:.02em;text-transform:uppercase;padding:10px 14px;background:var(--surface-2);white-space:nowrap}.ts-ui .table td,.ts-ui .table th{border-bottom:1px solid var(--line)}.ts-ui .table td{padding:11px 14px;vertical-align:middle}.ts-ui .table tr:last-child td{border-bottom:0}.ts-ui .table tbody tr{transition:background var(--dur)}.ts-ui .table tbody tr:hover{background:#fafbfc}.ts-ui .table tr.click{cursor:pointer}.ts-ui .table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ts-ui .table .cell-main{font-weight:600}.ts-ui .pager,.ts-ui .table .cell-sub{font-size:12.5px;color:var(--ink-3)}.ts-ui .pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 0}.ts-ui .avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hover);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:12.5px;flex:none}.ts-ui .avatar.lg{width:44px;height:44px;font-size:15px}.ts-ui .list{display:grid}.ts-ui .list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.ts-ui .list-item:last-child{border-bottom:0}.ts-ui .kv{display:grid;grid-template-columns:minmax(96px,150px) minmax(0,1fr);grid-gap:8px 16px;gap:8px 16px;font-size:13.5px}.ts-ui .kv dt{color:var(--ink-3)}.ts-ui .kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.ts-ui .empty{position:static;inset:auto;place-items:unset;text-align:center;padding:48px 20px;color:var(--ink-3);display:grid;justify-items:center;grid-gap:10px;gap:10px}.ts-ui .empty .ico{width:44px;height:44px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--ink-3)}.ts-ui .empty h3{color:var(--ink)}.ts-ui .skel{background:linear-gradient(90deg,var(--surface-2) 25%,#f9fafb 50%,var(--surface-2) 75%);background-size:200% 100%;animation:ts-shimmer 1.4s linear infinite;border-radius:8px;height:14px}.ts-ui .toasts{position:fixed;right:20px;bottom:20px;display:grid;grid-gap:8px;gap:8px;z-index:100}.ts-ui .toast{position:static;left:auto;bottom:auto;transform:none;border:0;background:var(--ink);color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;box-shadow:var(--shadow-md);animation:ts-pop .2s var(--ease) both;display:flex;gap:10px;align-items:center;max-width:380px}.ts-ui .toast.danger{background:var(--danger)}.ts-ui .toast.success{background:var(--success)}.ts-ui .overlay{position:fixed;inset:0;background:rgba(18,20,24,.38);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:ts-fade .16s var(--ease) both;display:flex;padding:20px;overflow:auto}.ts-ui .dialog{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(520px,100%);animation:ts-pop .2s var(--ease) both;overflow:hidden;margin:auto;max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto 1fr auto}.ts-ui .dialog-body{overflow:auto}.ts-ui .dialog.wide{width:min(760px,100%)}.ts-ui .dialog-head{padding:18px 22px 0}.ts-ui .dialog-head h2{font-size:16px}.ts-ui .dialog-head p{color:var(--ink-3);margin-top:4px}.ts-ui .dialog-body{padding:16px 22px}.ts-ui .dialog-foot{padding:12px 22px 18px;display:flex;justify-content:flex-end;gap:8px}.ts-ui .drawer-overlay{position:fixed;inset:0;background:rgba(18,20,24,.28);z-index:90;animation:ts-fade .16s var(--ease) both}.ts-ui .drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--surface);box-shadow:var(--shadow-lg);z-index:91;display:grid;grid-template-rows:auto 1fr auto;animation:ts-drawer .22s var(--ease) both}@keyframes ts-drawer{0%{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}.ts-ui .tabs{display:flex;gap:2px;padding:0;border-bottom:1px solid var(--line);margin-bottom:16px}.ts-ui .tabs button{height:38px;padding:0 12px;border:0;background:transparent;color:var(--ink-3);font-weight:600;font-size:13.5px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur),border-color var(--dur)}.ts-ui .tabs button:hover{color:var(--ink)}.ts-ui .tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.ts-ui .perm-group{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ts-ui .perm-group>header{padding:10px 14px;background:var(--surface-2);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}.ts-ui .perm{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}.ts-ui .perm .t{font-weight:600;font-size:13.5px}.ts-ui .perm .h{font-size:12px;color:var(--ink-3)}.ts-ui .perm .src{font-size:11.5px;color:var(--ink-4);min-width:64px;text-align:right}.ts-ui .shell{display:grid;grid-template-columns:256px 1fr;min-height:100dvh}.ts-ui .sidebar{position:-webkit-sticky;position:sticky;top:0;height:100dvh;background:var(--surface);border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr auto}.ts-ui .sidebar .brand{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line)}.ts-ui .sidebar .brand b{font-size:15px;letter-spacing:-.01em}.ts-ui .sidebar .brand small{display:block;color:var(--ink-3);font-size:11.5px;font-weight:500}.ts-ui .nav{padding:12px 10px;overflow:auto}.ts-ui .nav .group{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);padding:14px 10px 6px}.ts-ui .nav a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:9px;color:var(--ink-2);font-weight:500;font-size:13.5px;transition:background var(--dur),color var(--dur)}.ts-ui .nav a:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.ts-ui .nav a.on{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.ts-ui .nav a svg{width:17px;height:17px;flex:none;opacity:.9}.ts-ui .nav a .count{margin-left:auto;font-size:11.5px;font-weight:600;background:var(--warning-soft);color:var(--warning);padding:1px 7px;border-radius:999px}.ts-ui .sidebar .foot{padding:12px 14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px}.ts-ui .sidebar .foot .who{min-width:0}.ts-ui .sidebar .foot .who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-ui .sidebar .foot .who span{font-size:11.5px;color:var(--ink-3)}.ts-ui .topbar-ui{height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.ts-ui .topbar-ui .title{font-weight:600;font-size:14px}.ts-ui .topbar-ui .right{display:flex;align-items:center;gap:8px}.ts-ui .main{min-width:0}@media (max-width:960px){.ts-ui .shell{grid-template-columns:1fr}.ts-ui .sidebar{position:fixed;left:0;transform:translateX(-100%);z-index:50;width:272px;transition:transform var(--dur) var(--ease)}.ts-ui .sidebar.open{transform:none;box-shadow:var(--shadow-lg)}.ts-ui .page{padding:18px 16px 40px}}.ts-ui .auth{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ts-ui .auth-side{position:relative;overflow:hidden;background:linear-gradient(160deg,#1c1a16,#2c2518 55%,#4a3a1e);color:#f3ead6;padding:40px 48px 28px;display:grid;grid-template-rows:auto 1fr auto;grid-gap:18px;gap:18px}.ts-ui .auth-side .mesh{position:absolute;inset:-20%;background:radial-gradient(circle at 20% 20%,rgba(217,184,106,.18),transparent 40%),radial-gradient(circle at 80% 80%,rgba(217,184,106,.12),transparent 40%);pointer-events:none}.ts-ui .auth-side .mosaic{position:absolute;right:-14%;bottom:-10%;width:78%;height:52%;perspective:1000px;perspective-origin:30% 10%;pointer-events:none;opacity:.55;-webkit-mask-image:linear-gradient(0deg,#000 55%,transparent);mask-image:linear-gradient(0deg,#000 55%,transparent)}.ts-ui .auth-side .mosaic-plane{position:absolute;left:0;top:10%;width:100%;display:grid;grid-template-columns:repeat(7,1fr);grid-gap:7px;gap:7px;transform:rotateX(56deg) rotate(-14deg);transform-style:preserve-3d}.ts-ui .auth-side .mosaic-plane i{display:block;aspect-ratio:1;border-radius:5px;background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.07) 55%,rgba(255,255,255,.12));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.25);position:relative;overflow:hidden;opacity:0;transform:translateY(22px) scale(.92);animation:tile-lay .8s var(--ease) var(--d,0s) forwards}.ts-ui .auth-side .mosaic-plane i.brass{background:linear-gradient(135deg,rgba(217,184,106,.62),rgba(176,125,42,.32) 60%,rgba(217,184,106,.45))}.ts-ui .auth-side .mosaic-plane i.pale{background:linear-gradient(135deg,rgba(255,255,255,.3),rgba(255,255,255,.12))}.ts-ui .auth-side .mosaic-plane i:after{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.28) 50%,transparent 58%);transform:translateX(-70%);animation:tile-sheen 7s ease-in-out calc(1.4s + var(--s, 0) * .5s) infinite}.ts-ui .auth-side .mosaic-glow{position:absolute;left:10%;right:10%;bottom:0;height:40%;background:radial-gradient(ellipse at center,rgba(217,184,106,.22),transparent 70%);filter:blur(12px)}@keyframes tile-lay{to{opacity:1;transform:none}}@keyframes tile-sheen{0%,55%{transform:translateX(-70%)}75%{transform:translateX(70%)}to{transform:translateX(70%)}}@media (prefers-reduced-motion:reduce){.ts-ui .auth-side .mosaic-plane i{opacity:1;transform:none}.ts-ui .auth-side .mosaic-plane i:after{display:none}}.ts-ui .auth-side .points{position:relative;z-index:1;align-self:center;justify-self:center;width:min(100%,460px);display:grid;grid-gap:12px;gap:12px}.ts-ui .auth-side .points h2{margin:0 0 4px;font-size:19px;line-height:1.35;letter-spacing:-.01em;font-weight:600;text-align:center}.ts-ui .auth-side .points h2 span{color:#d9b86a}.ts-ui .auth-side .points ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.ts-ui .auth-side .points li{display:grid;grid-template-columns:30px 1fr;grid-gap:12px;gap:12px;align-items:start;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);animation:ts-fade-up .5s var(--ease) backwards}.ts-ui .auth-side .points li:first-child{animation-delay:.9s}.ts-ui .auth-side .points li:nth-child(2){animation-delay:1.05s}.ts-ui .auth-side .points li:nth-child(3){animation-delay:1.2s}.ts-ui .auth-side .points li:nth-child(4){animation-delay:1.35s}.ts-ui .auth-side .points li:nth-child(5){animation-delay:1.5s}.ts-ui .auth-side .pt-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(217,184,106,.16);color:#e2c57c}.ts-ui .auth-side .pt-txt{display:grid;grid-gap:2px;gap:2px;min-width:0}.ts-ui .auth-side .pt-txt b{font-size:13px;font-weight:600}.ts-ui .auth-side .pt-txt small{font-size:11.5px;line-height:1.45;color:rgba(243,234,214,.72)}.ts-ui .auth-side .foot{position:relative;z-index:1;text-align:center;font-size:11px;line-height:1.5;color:rgba(243,234,214,.5)}.ts-ui .auth-side .foot .powered{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,234,214,.55);margin-top:4px}.ts-ui .auth-side .foot .powered b{color:#d9b86a;font-weight:600}.ts-ui .auth-powered{display:none;text-align:center;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-top:22px}.ts-ui .auth-powered b{color:var(--accent-hover);font-weight:600}@media (max-width:900px){.ts-ui .auth-powered{display:block}}@media (max-height:760px){.ts-ui .auth-side{gap:12px;padding:28px 40px 20px}.ts-ui .auth-side .points{gap:8px}.ts-ui .auth-side .points h2{font-size:16px}.ts-ui .auth-side .points ul{gap:6px}.ts-ui .auth-side .points li{padding:7px 10px}.ts-ui .auth-side .pt-txt small{display:none}.ts-ui .auth-side .mosaic{opacity:.35}}.ts-ui .auth-main{display:grid;place-items:center;padding:40px 24px;background:var(--bg)}.ts-ui .auth-card{width:min(440px,100%);animation:ts-fade-up .26s var(--ease) both}.ts-ui .auth-card .head{margin-bottom:22px}.ts-ui .auth-card .head h1{font-size:24px}.ts-ui .auth-card .head p{color:var(--ink-3);margin-top:6px}.ts-ui .auth-card form{display:grid;grid-gap:14px;gap:14px}.ts-ui .auth-card .alt{text-align:center;font-size:13px;color:var(--ink-3);margin-top:18px}.ts-ui .auth-wide{width:min(760px,100%)}.ts-ui .steps{display:flex;flex-direction:row;gap:8px;padding:0;margin:0 0 20px}.ts-ui .steps div{flex:1 1;height:4px;border-radius:2px;background:var(--line-strong);transition:background var(--dur)}.ts-ui .steps div.on{background:var(--accent)}.ts-ui .notice{padding:12px 14px;border-radius:10px;font-size:13px;border:1px solid}.ts-ui .notice.info{background:var(--info-soft);border-color:#c7d6fb;color:#1e3a8a}.ts-ui .notice.warn{background:var(--warning-soft);border-color:#f3d4a6;color:#7c3a0b}.ts-ui .notice.danger{background:var(--danger-soft);border-color:#f2bcbc;color:#7f1d1d}.ts-ui .notice.success{background:var(--success-soft);border-color:#b9e3c7;color:#14532d}@media (max-width:900px){.ts-ui .auth{grid-template-columns:1fr}.ts-ui .auth-side{display:none}}.ts-ui .status-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.ts-ui .status-card{width:min(480px,100%);text-align:center;padding:36px 28px}.ts-ui .status-card .ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;margin:0 auto 16px}.ts-ui .status-card .ico.warn{background:var(--warning-soft);color:var(--warning)}.ts-ui .status-card .ico.ok{background:var(--success-soft);color:var(--success)}.ts-ui .status-card .ico.bad{background:var(--danger-soft);color:var(--danger)}.ts-ui.root{height:100dvh;overflow:auto;color-scheme:light}.ts-ui .thumb{width:64px;height:44px;border-radius:8px;object-fit:cover;background:var(--surface-3);border:1px solid var(--line);display:block;overflow:hidden}.ts-ui .thumb img{width:100%;height:100%;object-fit:cover;display:block}.ts-ui .thumb.lg{width:100%;height:auto;aspect-ratio:16/10;border-radius:12px;display:block}.ts-ui .tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:14px;gap:14px}.ts-ui .tcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);display:grid}.ts-ui .tcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.ts-ui .tcard img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--surface-3);display:block}.ts-ui .tcard .meta{padding:10px 12px;display:grid;grid-gap:2px;gap:2px}.ts-ui .tcard .meta b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-ui .tcard .meta span{font-size:12px;color:var(--ink-3)}.ts-ui .tags{display:flex;gap:6px;flex-wrap:wrap}.ts-ui .tag{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.ts-ui .event-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:center}.ts-ui .event-row:last-child{border-bottom:0}.ts-ui .event-row time{color:var(--ink-3);font-size:12px}.ts-ui .changes{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;color:var(--ink-2);display:grid;grid-gap:2px;gap:2px;margin-top:4px}.ts-ui .changes s{color:var(--danger);opacity:.8}.ts-ui .changes b{color:var(--success);font-weight:500}.ts-ui .qr{width:180px;height:180px;border-radius:12px;border:1px solid var(--line);background:#fff;padding:8px}.ts-ui .code-box{font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.ts-ui .pw-meter{display:flex;gap:4px}.ts-ui .pw-meter i{flex:1 1;height:4px;border-radius:2px;background:var(--line-strong)}.ts-ui .pw-meter i.on{background:var(--success)}.ts-ui .pw-meter i.on.weak{background:var(--danger)}.ts-ui .pw-meter i.on.mid{background:var(--warning)}.ts-ui .menu{position:absolute;right:0;top:calc(100% + 6px);min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;z-index:30;animation:ts-pop .16s var(--ease) both}.ts-ui .menu a,.ts-ui .menu button{display:flex;align-items:center;gap:10px;width:100%;height:34px;padding:0 10px;border-radius:8px;font-size:13.5px;color:var(--ink);background:none;border:0;text-align:left;cursor:pointer}.ts-ui .menu a:hover,.ts-ui .menu button:hover{background:var(--surface-2);text-decoration:none}.ts-ui .menu svg{width:16px;height:16px;color:var(--ink-3)}.ts-ui .surface-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.ts-ui .surface-row:last-child{border-bottom:0}.ts-ui .num-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:720px){.ts-ui .num-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ts-ui .num-grid .field>label,.ts-ui .orig{font-size:11.5px}.ts-ui .orig{color:var(--ink-4);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ts-ui .checklist{display:grid;grid-gap:8px;gap:8px}.ts-ui .checklist label{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;transition:background var(--dur)}.ts-ui .checklist label:hover{background:var(--surface-2)}.ts-ui .checklist input{margin-top:3px;accent-color:var(--accent)}.ts-ui .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:20px;gap:20px;align-items:start}@media (max-width:1100px){.ts-ui .detail-grid{grid-template-columns:1fr}}.ts-ui .logo-img{width:56px;height:56px;border-radius:12px;object-fit:contain;background:var(--surface-2);border:1px solid var(--line)}.ts-ui .brand-mark{width:34px;height:34px;border-radius:9px;flex:none}@media (max-width:960px){.ts-ui .hide-sm{display:none!important}.ts-ui .topbar-ui{padding:0 12px}}