.back-to-top[data-v-7b29ecc5]{z-index:200;border:1px solid var(--border);border-radius:var(--radius-sm,8px);background:var(--bg-elevated);width:44px;height:44px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow);place-items:center;padding:0;font-size:1.15rem;line-height:1;transition:background .15s,color .15s,border-color .15s,transform .15s;display:grid;position:fixed;bottom:1.5rem;right:1.5rem}.back-to-top[data-v-7b29ecc5]:hover{background:var(--bg-hover);color:var(--text);border-color:var(--accent);transform:translateY(-2px)}.back-to-top[data-v-7b29ecc5]:active{transform:translateY(0)}.back-to-top-fade-enter-active[data-v-7b29ecc5],.back-to-top-fade-leave-active[data-v-7b29ecc5]{transition:opacity .2s,transform .2s}.back-to-top-fade-enter-from[data-v-7b29ecc5],.back-to-top-fade-leave-to[data-v-7b29ecc5]{opacity:0;transform:translateY(8px)}.session-restore[data-v-bdd27d6a]{min-height:100vh;color:var(--text-muted);place-items:center;display:grid}:root{--bg:#f7f7f5;--bg-elevated:#fff;--bg-card:#fff;--bg-hover:#f0f0ee;--bg-active:#ebebea;--border:#e4e4e2;--border-subtle:#efefed;--text:#1b1b18;--text-muted:#6b6b66;--text-faint:#9b9b96;--accent:#2d8a7e;--accent-dim:#3aa89a;--accent-soft:#2d8a7e1a;--chart-teal:#5bb5a8;--chart-orange:#e8913a;--chart-blue:#7eb8e8;--chart-lavender:#a8b4e8;--danger:#d64550;--success:#3d9a6a;--radius:10px;--radius-sm:6px;--shadow:0 1px 3px #0000000f, 0 4px 12px #0000000a;--topbar-height:56px;--tp-sidebar-width:240px;--bp-sm:520px;--bp-md:768px;--bp-lg:900px;--bp-xl:960px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,SF Pro Text,PingFang SC,Helvetica Neue,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-height:100vh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button{cursor:pointer}.layout{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:300;isolation:isolate;height:var(--topbar-height);padding:0 1.5rem 0 0;padding-top:env(safe-area-inset-top);background:var(--bg-elevated);border-bottom:1px solid var(--border);pointer-events:auto;flex-shrink:0;align-items:stretch;gap:0;display:flex;position:sticky;top:0}.topbar-sidebar-toggle{width:var(--topbar-height);height:var(--topbar-height);border:none;border-right:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;flex-shrink:0;order:-1;place-items:center;margin:0;padding:0;font-size:1rem;line-height:1;transition:background .15s,color .15s;display:grid}.topbar-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text)}.topbar-brand{color:inherit;flex-shrink:0;align-self:center;align-items:center;gap:.5rem;margin-right:1rem;padding-left:1.25rem;text-decoration:none;display:flex}.topbar-brand:hover{text-decoration:none}.topbar:not(:has(.topbar-sidebar-toggle)) .topbar-brand{padding-left:1.5rem}.brand{color:inherit;flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.95rem;font-weight:600;overflow:hidden}.brand-icon{color:var(--accent);font-size:1rem}.brand-icon.lg{font-size:2rem}.topbar-nav{z-index:1;flex:1;align-self:center;align-items:center;gap:.2rem;min-width:0;display:flex;position:relative;overflow-x:auto}.topbar-item{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.topbar-item:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.topbar-item.active{color:var(--text);background:var(--bg-active)}.topbar-icon{text-align:center;opacity:.7;width:16px;font-size:.85rem}.topbar-actions{flex-shrink:0;align-self:center;align-items:center;display:flex}.topbar-user{border-radius:var(--radius-sm);color:inherit;align-items:center;gap:.6rem;padding:.35rem .5rem;text-decoration:none;transition:background .12s;display:flex}.topbar-user:hover{background:var(--bg-hover);text-decoration:none}.topbar-user.active{background:var(--bg-active)}.topbar-user-info{min-width:0}.topbar-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;display:block;overflow:hidden}.topbar-user-badge{color:var(--text-muted);background:var(--bg-hover);border-radius:4px;margin-top:.1rem;padding:.1rem .4rem;font-size:.65rem;font-weight:600;display:inline-block}.main{flex:1;min-width:0;min-height:0;padding:1.75rem 2rem 2.5rem;overflow:auto}.main.main-tox{min-height:calc(100vh - var(--topbar-height));flex:auto;padding-top:0;padding-left:0;overflow:visible}.page{max-width:1100px}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h2{margin:0 0 .25rem;font-size:1.6rem}.page-header p{color:var(--text-muted);margin:0}.auth-page{background:var(--bg);place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card{background:var(--bg-elevated);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:16px;padding:2rem}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h1{margin:.5rem 0 .25rem}.auth-header p{color:var(--text-muted);margin:0;font-size:.9rem}.auth-footer{text-align:center;color:var(--text-muted);margin-top:1.25rem;font-size:.9rem}.demo-hint{background:var(--accent-soft);border-radius:var(--radius);color:var(--text-muted);margin-top:1rem;padding:.75rem;font-size:.8rem}.demo-hint code{color:var(--accent)}.form{flex-direction:column;gap:1rem;display:flex}.form label,.inline-form label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.form input,.inline-form input,.inline-form select,.search-bar input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.7rem .9rem}.form input:focus,.inline-form input:focus,.search-bar input:focus{border-color:var(--accent);outline:2px solid #2d8a7e40}.inline-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1.5rem;display:flex}.inline-form input,.inline-form select{min-width:140px}.btn-primary{background:var(--text);color:#fff;border-radius:var(--radius);border:none;padding:.7rem 1.2rem;font-weight:600;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);background:0 0;padding:.4rem .7rem;font-size:.8rem}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost.danger:hover{border-color:var(--danger);color:var(--danger)}.search-bar{gap:.5rem;margin-bottom:1.5rem;display:flex}.search-bar input{flex:1}.search-bar button{background:var(--text);color:#fff;border-radius:var(--radius);white-space:nowrap;border:none;padding:0 1.25rem;font-weight:600}.search-bar.large input{padding:1rem 1.1rem;font-size:1.05rem}.hero-search{margin-bottom:2rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.stat-card span{color:var(--text-muted);margin-bottom:.35rem;font-size:.8rem;display:block}.stat-card strong{text-transform:capitalize;font-size:1.4rem}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.action-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow);padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s}.action-card:hover{border-color:var(--border);text-decoration:none;box-shadow:0 2px 8px #00000014}.action-card h3{margin:0 0 .35rem}.action-card p{color:var(--text-muted);margin:0;font-size:.9rem}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.plan-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:1.5rem;display:flex}.plan-card h3{margin:0 0 .5rem}.plan-price{margin:0 0 1rem}.plan-price span{color:var(--accent);font-size:2rem;font-weight:700}.plan-price small{color:var(--text-muted)}.plan-card ul{color:var(--text-muted);flex:1;margin:0 0 1.25rem;padding-left:1.2rem;font-size:.9rem}.balance-pill{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;padding:.5rem 1rem;font-weight:600}.results{flex-direction:column;gap:1rem;display:flex}.result-count{color:var(--text-muted);margin:0;font-size:.9rem}.result-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.result-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.result-head h3{margin:0;font-size:1.05rem}.result-card p{color:var(--text-muted);margin:0 0 .75rem}.result-meta{color:var(--accent-dim);font-size:.8rem}.data-table{border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.data-table th{background:var(--bg-elevated);color:var(--text-muted);font-size:.8rem;font-weight:500}.data-table tr:last-child td{border-bottom:none}.table-footer{color:var(--text-muted);margin-top:.75rem;font-size:.85rem}.actions{gap:.5rem;display:flex}.badge{background:var(--bg-hover);text-transform:capitalize;border-radius:4px;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.badge.success{color:var(--success);background:#3d9a6a1f}.badge.danger{color:var(--danger);background:#d645501a}.error{color:var(--danger);margin:0 0 1rem;font-size:.9rem}.success{color:var(--success);margin:0 0 1rem;font-size:.9rem}.empty-state{text-align:center;color:var(--text-muted);padding:3rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.orders-section h3,.orders-section h4{margin:0 0 1rem}.db-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.db-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.db-card-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.db-card-head h3{margin:0;font-size:1.05rem}.db-desc{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem}.db-meta{color:var(--text-muted);justify-content:space-between;font-size:.85rem;display:flex}.db-meta strong{color:var(--accent)}.db-card-link{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.db-card-link:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-2px)}.source-page{max-width:100%}.back-link{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem;display:inline-block}.back-link:hover{color:var(--accent)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.tox-table{border:none;border-radius:0;min-width:1320px}.tox-table th{white-space:nowrap;z-index:1;position:sticky;top:0}.tox-table td{vertical-align:top;font-size:.85rem}.cell-id{white-space:nowrap;color:var(--accent-dim)}.cell-title{min-width:180px;max-width:220px}.cell-alias{min-width:160px;max-width:220px;color:var(--text-muted)}.cell-abstract{min-width:200px;max-width:280px;color:var(--text-muted)}.cell-keyword{min-width:120px;max-width:160px;color:var(--text-muted)}.pagination{color:var(--text-muted);justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;font-size:.9rem;display:flex}.settings-page{max-width:900px}.settings-layout{grid-template-columns:180px 1fr;align-items:start;gap:1.5rem;display:grid}.settings-tabs{flex-direction:column;gap:.25rem;display:flex}.settings-tab{text-align:left;border-radius:var(--radius);color:var(--text-muted);background:0 0;border:none;padding:.65rem 1rem;font-size:.9rem;transition:background .15s,color .15s}.settings-tab:hover{background:var(--bg-hover);color:var(--text)}.settings-tab.active{background:var(--bg-active);color:var(--text);font-weight:600}.settings-tab.admin-link{color:var(--text-muted);margin-top:.5rem;text-decoration:none;display:block}.settings-panel{padding:1.5rem}.settings-section h3{margin:0 0 1.25rem;font-size:1.1rem}.avatar-editor{align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:flex}.upload-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);padding:.5rem 1rem;font-size:.85rem;display:inline-block}.upload-btn:hover{border-color:var(--accent);color:var(--accent)}.hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.8rem}.membership-info{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.75rem 0;font-size:.9rem;display:flex}.info-row span{color:var(--text-muted)}.info-row strong{text-transform:capitalize}.link-btn{text-align:center;margin-bottom:1.5rem;text-decoration:none;display:inline-block}.history-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.history-head h3{margin:0}.history-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.history-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.history-query{color:var(--accent);text-align:left;background:0 0;border:none;padding:0;font-size:.95rem}.history-query:hover{text-decoration:underline}.history-meta{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.tp-shell{grid-template-columns:var(--tp-sidebar-width) minmax(0, 1fr);min-height:calc(100vh - var(--topbar-height) - 3.5rem);gap:0;margin:0;transition:grid-template-columns .2s;display:grid}.tp-shell.tp-sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.tp-shell.tp-sidebar-collapsed .tp-sidebar{display:none}.tp-loading{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:3rem}.tp-loading-inline{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9rem}.tp-cache-hint{color:var(--text-muted);background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:6px;margin:0 0 .75rem;padding:.35rem .75rem;font-size:.82rem}.tp-sidebar-placeholder{opacity:.5;pointer-events:none}.tp-nav-skeleton{background:linear-gradient(90deg,#2d3f5466 25%,#3dd6c314 50%,#2d3f5466 75%) 0 0/200% 100%;border-radius:8px;height:180px;animation:1.2s ease-in-out infinite tp-shimmer}@keyframes tp-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.tp-sidebar{top:var(--topbar-height);z-index:250;isolation:isolate;width:var(--tp-sidebar-width);background:var(--bg-card);border:none;border-right:1px solid var(--border);box-shadow:none;max-height:calc(100vh - var(--topbar-height));overscroll-behavior:contain;border-radius:0;flex-direction:column;align-self:start;padding:1rem;transition:transform .2s;display:flex;position:sticky;overflow:hidden}.tp-sidebar.tp-sidebar-stuck{transform:translateY(calc((100vh - var(--topbar-height)) * .2));max-height:calc((100vh - var(--topbar-height)) * .8)}.tp-sidebar-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.tp-sidebar-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.tp-sidebar-overall{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600}.tp-sidebar-total{color:inherit;border:1px solid var(--border);background:var(--bg);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.1rem .5rem;margin-bottom:.75rem;padding:.65rem .75rem;text-decoration:none;transition:background .15s,border-color .15s;display:grid}.tp-sidebar-total:hover{background:var(--bg-hover);text-decoration:none}.tp-sidebar-total.active{background:var(--bg-active);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.tp-sidebar-total-label{font-size:.85rem;font-weight:600}.tp-sidebar-total-sub{color:var(--text-muted);grid-column:1;font-size:.75rem}.tp-sidebar-total-pct{color:var(--accent);font-variant-numeric:tabular-nums;grid-row:1/span 2;align-self:center;font-size:.9rem;font-weight:600}.tp-sidebar-nav{overscroll-behavior:contain;flex-direction:column;flex:1;gap:.35rem;min-height:0;display:flex;overflow-y:auto}.tp-sidebar-tools{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.4rem;margin-top:.75rem;padding-top:.75rem;display:flex}.tp-annotate-btn{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.8rem;transition:background .15s,border-color .15s,color .15s;display:flex}.tp-annotate-btn:hover{background:var(--bg-hover)}.tp-annotate-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.tp-annotate-clear{color:var(--text-muted)}.tp-annotate-icon{font-size:.95rem;line-height:1}.tp-annotate-panel{border:1px solid var(--border);background:var(--bg);border-radius:8px;flex-direction:column;gap:.55rem;padding:.65rem;display:flex}.tp-annotate-row{flex-direction:column;gap:.35rem;display:flex}.tp-annotate-label{letter-spacing:.04em;color:var(--text-muted);font-size:.68rem;font-weight:600}.tp-annotate-colors{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.tp-annotate-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:1.25rem;height:1.25rem;padding:0;transition:transform .12s,border-color .12s}.tp-annotate-swatch:hover{transform:scale(1.08)}.tp-annotate-swatch.active{border-color:var(--text);box-shadow:0 0 0 1px var(--bg-card)}.tp-annotate-color-picker{border:1px dashed var(--border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:inline-flex;position:relative;overflow:hidden}.tp-annotate-color-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.tp-annotate-color-picker-icon{color:var(--text-muted);pointer-events:none;font-size:.75rem;line-height:1}.tp-annotate-widths{gap:.35rem;display:flex}.tp-annotate-width{border:1px solid var(--border);background:var(--bg-card);cursor:pointer;border-radius:6px;flex:1;justify-content:center;align-items:center;min-height:1.75rem;padding:.25rem .35rem;transition:border-color .12s,background .12s;display:flex}.tp-annotate-width:hover{background:var(--bg-hover)}.tp-annotate-width.active{border-color:var(--accent);background:var(--accent-soft)}.tp-annotate-width-line{background:var(--text);border-radius:999px;width:70%;display:block}.tp-annotate-width-line--eraser{background:var(--text-muted)}.tp-annotate-tool-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.tp-annotate-tool{border:1px solid var(--border);background:var(--bg-card);min-height:1.75rem;color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:.3rem .35rem;font-size:.72rem;transition:border-color .12s,background .12s,color .12s}.tp-annotate-tool:hover:not(:disabled){background:var(--bg-hover)}.tp-annotate-tool.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tp-annotate-tool:disabled{opacity:.45;cursor:not-allowed}.tp-annotate-hint{color:var(--text-faint);text-align:center;margin:0;font-size:.68rem}.tp-annotator-wrap{z-index:50;pointer-events:none;touch-action:none;position:absolute;inset:0}.tp-annotator-wrap.active{pointer-events:none;cursor:crosshair}.tp-annotator-wrap.active .tp-annotator-canvas{pointer-events:auto;cursor:crosshair}.tp-annotator-wrap.active.eraser .tp-annotator-canvas{cursor:cell}.tp-annotator-canvas{width:100%;height:100%;display:block}.tp-nav-item{color:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.65rem .75rem;text-decoration:none;transition:background .15s,border-color .15s;display:block}.tp-nav-item:hover:not(.disabled){background:var(--bg-hover);text-decoration:none}.tp-nav-item.active{background:var(--bg-active);border-color:var(--border);box-shadow:inset 3px 0 0 var(--accent)}.tp-nav-item.disabled{opacity:.45;cursor:not-allowed}.tp-nav-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tp-nav-label{font-size:.85rem;font-weight:600}.tp-nav-sub{color:var(--text-muted);margin-top:.15rem;font-size:.75rem;line-height:1.35;display:block}.tp-nav-period{color:var(--text-muted);opacity:.85;font-variant-numeric:tabular-nums;margin-top:.1rem;font-size:.6875rem;display:block}.tp-nav-pct{color:var(--accent);font-variant-numeric:tabular-nums;font-size:.75rem}.tp-nav-soon{color:var(--text-muted);font-size:.65rem}.tp-nav-bar{background:var(--border-subtle);border-radius:999px;height:3px;margin-top:.5rem;overflow:hidden}.tp-nav-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .6s ease-out}.tp-main{min-width:0;padding:1.75rem 0 0 1.5rem;position:relative}.tp-main-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.tp-main-header h2{margin:0 0 .25rem;font-size:1.5rem}.tp-main-header p{color:var(--text-muted);margin:0;font-size:.9rem}.tp-page{flex-direction:column;gap:1.5rem;display:flex}.tp-total-kpi{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.tp-total-kpi .stats-grid{margin-bottom:0}.tp-kpi-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-kpi-row-5{grid-template-columns:repeat(5,minmax(0,1fr))}.tp-kpi-row-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:900px){.tp-kpi-row-3,.tp-kpi-row-5,.tp-kpi-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){.tp-kpi-row-3,.tp-kpi-row-4,.tp-kpi-row-5{grid-template-columns:1fr}}.tp-kpi-grid .tp-kpi-num{font-variant-numeric:tabular-nums;text-transform:none;font-size:1.5rem}.tp-muted{color:var(--text-muted);font-size:.85rem}.tp-section-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tp-section-head h3{margin:0 0 .25rem}.tp-matrix-section-head{align-items:center;margin-bottom:.75rem}.tp-section-head-meta{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.tp-refresh-data-btn{white-space:nowrap;padding:.3rem .65rem;font-size:.82rem}.tp-refresh-data-btn:disabled{opacity:.65;cursor:not-allowed}.tp-pipeline{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;align-items:stretch;gap:.5rem;padding:1.25rem;display:flex}.tp-pipeline-prep{border-color:var(--border)}.tp-pipeline-segment{flex:1;align-items:center;min-width:140px;display:flex}.tp-pipeline-segment.inactive{opacity:.55}.tp-pipeline-connector{background:var(--border);flex-shrink:0;width:24px;height:2px;margin:0 .25rem}.tp-pipeline-node{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:1;gap:.15rem;padding:.85rem 1rem;display:flex}.tp-pipeline-node.step-collect{border-color:#2d8a7e40}.tp-pipeline-node.step-download{border-color:#7eb8e859}.tp-pipeline-node.step-ai{border-color:#a8b4e859}.tp-pipeline-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem}.tp-pipeline-node strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.tp-pipeline-node strong.muted,.tp-pipeline-sub.muted{color:var(--text-muted)}.tp-pipeline-desc{font-size:.85rem}.tp-pipeline-sub,.tp-pipeline-time{color:var(--text-muted);font-size:.75rem}.tp-pipeline-vertical{box-shadow:none;background:0 0;border:none;flex-flow:column;gap:0;padding:0}.tp-pipeline-vertical .tp-pipeline-segment{flex-direction:column;flex:none;align-items:stretch;min-width:0}.tp-pipeline-vertical .tp-pipeline-connector{width:2px;height:14px;margin:.15rem auto}.tp-pipeline-vertical .tp-pipeline-node{width:100%}.tp-pipeline-node-link{color:inherit;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s}.tp-pipeline-node-link:hover{background:var(--bg-hover);text-decoration:none}.tp-pipeline-node-link.active{background:var(--bg-active);box-shadow:inset 3px 0 0 var(--accent)}.tp-notice-row{grid-template-columns:minmax(0,1fr);gap:1rem;margin-bottom:1.25rem;display:grid}.tp-notice-row--both{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch}.tp-notice-col{min-width:0}.tp-recent-updates{border-radius:var(--radius);background:#43aa8b0f;border:1px solid #43aa8b33;padding:1rem 1.25rem}.tp-recent-updates h3{margin:0 0 .25rem;font-size:.95rem}.tp-recent-updates-sub{color:var(--text-muted);margin:0 0 .75rem;font-size:.82rem}.tp-recent-updates-table{font-size:.88rem}.tp-recent-updates-table th,.tp-recent-updates-table td{padding:.5rem .65rem}.tp-recent-updates--compact{padding:.55rem .75rem}.tp-recent-updates--compact h3{margin:0 0 .15rem;font-size:.82rem}.tp-recent-updates--compact .tp-recent-updates-sub{margin:0 0 .35rem;font-size:.68rem;line-height:1.3}.tp-recent-updates--compact .tp-recent-updates-table{font-size:.72rem}.tp-recent-updates--compact .tp-recent-updates-table th,.tp-recent-updates--compact .tp-recent-updates-table td{padding:.2rem .35rem;line-height:1.25}.tp-recent-updates--compact .tp-recent-updates-title{max-width:10rem}.tp-alerts{border-radius:var(--radius);background:#d645500f;border:1px solid #d645502e;padding:1rem 1.25rem}.tp-notice-row--both .tp-alerts{padding:.55rem .75rem}.tp-notice-row--both .tp-alerts h3{margin:0 0 .25rem;font-size:.82rem}.tp-notice-row--both .tp-alerts ul{padding-left:1rem;font-size:.72rem;line-height:1.35}.tp-notice-row--both .tp-alerts li+li{margin-top:.15rem}.tp-alerts h3{margin:0 0 .5rem;font-size:.95rem}.tp-alerts ul{color:var(--text-muted);margin:0;padding-left:1.2rem;font-size:.9rem}.tp-recent-updates-title{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;overflow:hidden}@media (max-width:960px){.tp-notice-row--both{grid-template-columns:1fr}}.tp-matrix-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.tp-matrix{border-collapse:collapse;width:100%;font-size:.9rem}.tp-matrix th,.tp-matrix td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem .75rem}.tp-matrix th{color:var(--text-muted);font-size:.8rem;font-weight:500}.tp-matrix-link{color:var(--text);font-weight:600}.tp-matrix-link:hover{color:var(--accent)}.tp-matrix-bar-cell{align-items:center;gap:.5rem;min-width:140px;display:flex}.tp-matrix-stage-progress{min-width:96px}.tp-matrix-stage-link{color:inherit;cursor:pointer;border-radius:6px;margin:-.35rem -.5rem;padding:.35rem .5rem;text-decoration:none;display:block}.tp-matrix-stage-link:hover{background:var(--bg-hover);color:inherit;text-decoration:none}.tp-matrix-stage-static{cursor:default}.tp-matrix-bar{background:var(--border-subtle);border-radius:999px;flex:1;height:6px;overflow:hidden}.tp-matrix-bar-fill{background:var(--accent);border-radius:999px;height:100%}.tp-tabular{font-variant-numeric:tabular-nums}.tp-matrix-date{white-space:nowrap;font-size:.85rem}.tp-collect-row{cursor:pointer}.tp-collect-table tbody tr:hover,.tp-collect-row:hover{background:var(--bg-hover)}.tp-collect-row:focus-visible{outline-offset:-2px;outline:2px solid #2d8a7e59}.tp-collect-platform{font-weight:600}.tp-collect-action{text-align:right;white-space:nowrap}.tp-collect-action .tp-platform-link{font-size:.85rem}.tp-back-link{color:var(--text-muted);margin-bottom:.35rem;font-size:.85rem;display:inline-block}.tp-back-link:hover{color:var(--accent);text-decoration:none}.tp-detail-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.tp-detail-tabbed{margin-top:.5rem}.tp-detail-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:1rem;display:flex}.tp-detail-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.4rem;margin-bottom:-1px;padding:.65rem 1rem;font-size:.88rem;transition:color .15s,border-color .15s;display:inline-flex}.tp-detail-tab:hover{color:var(--text)}.tp-detail-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.tp-detail-tab-count{font-variant-numeric:tabular-nums;background:var(--bg-hover);color:var(--text-muted);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:600}.tp-detail-tab.active .tp-detail-tab-count{color:var(--accent);background:#5bb5a826}.tp-detail-tab-panel .tp-section-head{margin-bottom:.75rem}.tp-herb-tab-head{align-items:center}.tp-mobile-offload{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.tp-mobile-load-more{margin:.75rem 0 0}.tp-sort-th-cell{white-space:nowrap}.tp-sort-th-inner{align-items:center;gap:.35rem;display:inline-flex}.tp-sort-th-cell .tp-sort-label{font-weight:600}.tp-sort-arrows{flex-direction:row;align-items:center;gap:.15rem;display:inline-flex}.tp-sort-arrow-btn{min-width:1.35rem;height:1.35rem;color:var(--text-muted);opacity:.45;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:.62rem;line-height:1;display:inline-flex}.tp-sort-arrow-btn:hover{color:var(--accent);opacity:.9;background:#5bb5a81a}.tp-sort-arrow-btn.active{color:var(--accent);opacity:1;background:#5bb5a826}.tp-herb-name-link{color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.tp-herb-name-link:hover{text-decoration:underline}.tp-search-term-head{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.tp-search-term-back{margin-bottom:0}.tp-term-row-highlight{background:#5bb5a81f}.tp-term-row-highlight td{box-shadow:inset 0 0 0 1px #5bb5a859}.tp-term-table .tp-term-cell{width:60%;max-width:0}.tp-col-filter{align-items:center;gap:.45rem;min-width:0;display:flex}.tp-col-filter>span{white-space:nowrap;flex-shrink:0}.tp-th-filter-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:4.5rem;max-width:10rem;color:var(--text);flex:1;padding:.25rem .45rem;font-size:.75rem;font-weight:400}.tp-th-filter-input::placeholder{color:var(--text-faint)}.tp-th-filter-input:focus{border-color:var(--accent);outline:none}.tp-term-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.tp-term-text{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text);margin:0 0 .4rem;padding:.45rem .55rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.45;display:block}.tp-copy-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;padding:.2rem .55rem;font-size:.75rem;transition:background .12s,color .12s,border-color .12s}.tp-copy-btn:hover{background:var(--bg-hover);color:var(--text);border-color:var(--accent)}.tp-search-btn{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 12%, var(--bg-elevated));color:var(--accent);cursor:pointer;padding:.2rem .55rem;font-size:.75rem;transition:background .12s,color .12s,border-color .12s}.tp-search-btn:hover{background:color-mix(in srgb, var(--accent) 22%, var(--bg-elevated));border-color:var(--accent)}.tp-inline-edit-cell{min-width:0}.tp-inline-display{min-height:1.25rem}.tp-inline-display-editable{cursor:text;border-radius:var(--radius-sm)}.tp-inline-display-editable:hover{background:#5bb5a814}.tp-inline-edit-row{flex-wrap:wrap;align-items:flex-start;gap:.35rem;display:flex}.tp-inline-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:4rem;color:var(--text);flex:6rem;padding:.25rem .45rem;font-size:.8125rem}.tp-inline-textarea{resize:vertical;flex:100%;width:100%;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.35}.tp-inline-input:focus,.tp-inline-textarea:focus{border-color:var(--accent);outline:none}.tp-inline-submit-btn,.tp-inline-cancel-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;flex-shrink:0;padding:.25rem .55rem;font-size:.75rem}.tp-inline-submit-btn{color:var(--accent);background:#5bb5a81f;border-color:#5bb5a873}.tp-inline-submit-btn:hover:not(:disabled),.tp-inline-cancel-btn:hover:not(:disabled){border-color:var(--accent)}.tp-inline-submit-btn:disabled,.tp-inline-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.tp-inline-edit-error{color:var(--danger,#c0392b);margin:.25rem 0 0;font-size:.75rem}.tp-term-cell .tp-inline-edit-row{margin-bottom:.35rem}.tp-refs-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.tp-refs-toolbar{align-items:center;gap:.5rem;display:flex}.tp-refs-delete-btn{border:1px solid color-mix(in srgb, var(--danger,#c0392b) 45%, var(--border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger,#c0392b) 10%, var(--bg-elevated));color:var(--danger,#c0392b);cursor:pointer;padding:.4rem .85rem;font-size:.8125rem}.tp-refs-delete-btn:hover:not(:disabled){background:color-mix(in srgb, var(--danger,#c0392b) 18%, var(--bg-elevated))}.tp-refs-delete-btn:disabled{opacity:.55;cursor:not-allowed}.tp-refs-select-th,.tp-refs-select-td{text-align:center;vertical-align:middle;width:2.25rem}.tp-refs-checkbox{cursor:pointer;width:.95rem;height:.95rem}.tp-refs-row-selected{background:#5bb5a814}.tp-refs-row-selected td{box-shadow:inset 0 0 0 1px #5bb5a82e}.tp-filter-toggle{color:var(--text-muted);cursor:pointer;align-items:center;gap:.35rem;font-size:.85rem;display:flex}.tp-herb-bar-chart+.tp-percentile-chart{margin-top:1rem}.tp-percentile-band-swatch{border:1px solid #9b5de573;background:#9b5de540!important}.tp-rank-slot-card{min-height:var(--tp-herb-stat-card-height,var(--tp-rank-card-min-height));flex-direction:column;min-width:0;display:flex}.tp-detail-stats-block{--tp-rank-card-min-height:10.5rem;--tp-herb-stat-card-height:12.75rem;--tp-detail-stats-gap:.875rem;--tp-summary-row-h:11.25rem;margin-bottom:1rem;overflow:visible}.tp-summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;height:100%;box-shadow:var(--shadow);flex-direction:column;padding:.875rem 1rem;display:flex}.tp-summary-card__head{flex-shrink:0}.tp-summary-card__title{color:var(--text);margin:0;font-size:.8125rem;font-weight:600;line-height:1.35}.tp-summary-card__sub{color:var(--text-muted);margin:.2rem 0 0;font-size:.75rem;line-height:1.4}.tp-summary-card__body{flex:1;min-height:0;margin-top:.625rem;display:flex}.tp-summary-card__foot{color:var(--text-muted);border-top:1px solid var(--border-subtle);flex-shrink:0;margin-top:auto;padding-top:.625rem;font-size:.75rem;line-height:1.35}.tp-summary-empty{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;font-size:.75rem}.tp-summary-kpi-body{justify-content:center;align-items:center}.tp-summary-kpi-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:2rem;font-weight:600;line-height:1}.tp-detail-summary-grid{grid-template-columns:minmax(13rem,24%) minmax(0,1fr);grid-template-rows:repeat(2, var(--tp-summary-row-h));gap:var(--tp-detail-stats-gap);width:100%;max-width:100%;margin-bottom:var(--tp-detail-stats-gap);align-items:stretch;display:grid;overflow:visible}.tp-detail-summary-kpi{min-height:var(--tp-summary-row-h);height:100%}.tp-detail-summary-kpi:first-child{grid-area:1/1}.tp-detail-summary-kpi:nth-child(2){grid-area:2/1}.tp-detail-summary-chart{min-width:0;min-height:calc(2 * var(--tp-summary-row-h) + var(--tp-detail-stats-gap));grid-area:1/2/span 2;height:100%}.tp-search-summary-card{overflow:hidden}.tp-search-summary-card .tp-summary-card__sub{letter-spacing:.01em}.tp-search-summary-body{flex-direction:row;justify-content:space-between;align-items:center;gap:.625rem;min-width:0;min-height:0}.tp-search-summary-pie-wrap{pointer-events:none;flex-shrink:0;width:10rem;height:10rem}.tp-search-summary-pie{width:100%;height:100%;display:block}.tp-search-pie-track{fill:var(--border-subtle)}.tp-search-pie-slice{opacity:.96;stroke:var(--bg-card);stroke-width:2px;stroke-linejoin:round}.tp-search-pie-hole{fill:var(--bg-card)}.tp-search-pie-total{fill:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:21px;font-weight:600}.tp-search-pie-unit{fill:var(--text-faint);letter-spacing:.04em;font-size:10px;font-weight:500}.tp-search-summary-legend{flex-direction:column;flex:auto;justify-content:center;gap:.55rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.tp-search-summary-legend-row{grid-template-columns:.5rem minmax(0,1fr) auto;align-items:center;gap:.45rem;min-width:0;display:grid}.tp-search-summary-legend-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.tp-search-summary-legend-main{flex-direction:column;gap:.05rem;min-width:0;display:flex}.tp-search-summary-legend-label{color:var(--text);letter-spacing:.01em;font-size:.75rem;font-weight:600;line-height:1.2}.tp-search-summary-legend-label.is-skipped{color:var(--chart-orange)}.tp-search-summary-legend-code{color:var(--text-faint);text-transform:lowercase;letter-spacing:.03em;font-size:.625rem;font-weight:500;line-height:1.2}.tp-search-summary-legend-stats{font-variant-numeric:tabular-nums;white-space:nowrap;flex-direction:column;align-items:flex-end;gap:.05rem;display:flex}.tp-search-summary-legend-stats strong{color:var(--text);font-size:.8125rem;font-weight:600;line-height:1.1}.tp-search-summary-legend-pct{color:var(--text-muted);font-size:.6875rem;font-weight:500;line-height:1.1}.tp-ingest-summary-panel{min-height:0;box-shadow:var(--shadow);flex-direction:column;padding:.875rem 1rem;display:flex}.tp-ingest-summary-panel .usage-toolbar{order:2;gap:.5rem;margin:.5rem 0 .375rem}.tp-ingest-summary-panel .usage-date-range{display:none}.tp-ingest-summary-panel .usage-chart-head{order:1;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:0;display:flex}.tp-ingest-summary-panel .usage-chart-controls{flex-shrink:0;gap:.5rem}.tp-ingest-summary-panel .usage-select-group{font-size:.75rem}.tp-ingest-summary-panel .usage-select{padding:.2rem .35rem;font-size:.75rem}.tp-ingest-summary-panel .usage-quick-btn{padding:.22rem .45rem;font-size:.75rem}.tp-ingest-summary-panel .tp-line-chart-host{flex-direction:column;flex:1;order:3;min-height:0;display:flex}.tp-ingest-summary-panel .tp-line-svg{flex:1;width:100%;height:100%;min-height:0}.tp-ingest-summary-panel .usage-legend{order:4;margin-top:.375rem;padding-top:.375rem;font-size:.75rem}.tp-ingest-chart--compact.tp-ingest-summary-panel{min-height:0!important}.tp-ingest-chart--compact.tp-ingest-summary-panel .tp-chart-sub{display:none}.tp-ingest-chart--compact{padding:.75rem 1rem;min-height:0!important}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) .usage-toolbar{margin-bottom:.5rem}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) .usage-date-range{padding:.25rem .45rem;font-size:.72rem}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) .usage-quick-btn{padding:.2rem .4rem;font-size:.72rem}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) h4{font-size:.9rem}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) .tp-chart-sub{margin-bottom:.35rem;font-size:.72rem}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) .usage-chart-head{margin-bottom:.15rem}.tp-ingest-chart--compact:not(.tp-ingest-summary-panel) .usage-legend{margin-top:.35rem;padding-top:.35rem;font-size:.72rem}.tp-herb-stat-card{height:var(--tp-herb-stat-card-height);min-height:var(--tp-herb-stat-card-height);max-height:var(--tp-herb-stat-card-height);overflow:hidden}.tp-search-status-empty{flex:1;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;display:flex}.tp-herb-share-value{font-variant-numeric:tabular-nums;text-transform:none;margin-top:.15rem;font-size:1.5rem;display:block}.tp-herb-hbar-card.tp-rank-slot-card{min-height:var(--tp-rank-card-min-height)}.tp-chart-card{background:var(--bg-card);border:1px solid var(--border);min-height:260px;box-shadow:var(--shadow);border-radius:12px;padding:1.25rem 1.5rem}.tp-chart-card h4{letter-spacing:-.01em;margin:0 0 .15rem;font-size:1rem;font-weight:600}.tp-chart-sub{color:var(--text-muted);margin:0 0 .75rem;font-size:.78rem}.tp-chart-wide{min-width:0}.tp-chart-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9rem}.tp-pie-wrap{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.tp-pie-svg{flex-shrink:0;width:180px;height:180px}.tp-pie-center-num{fill:var(--text);font-size:22px;font-weight:600}.tp-pie-center-label{fill:var(--text-muted);font-size:11px}.tp-pie-legend-skipped{color:var(--chart-orange);font-weight:600}.tp-pie-legend{flex-direction:column;gap:.5rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.tp-pie-legend li{align-items:center;gap:.4rem;display:flex}.tp-pie-legend strong{font-variant-numeric:tabular-nums;margin-left:auto}.tp-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tp-herb-bar-chart{margin-bottom:1.25rem}.tp-herb-bar-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.tp-herb-bar-controls{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.tp-herb-bar-controls label{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.tp-herb-bar-zoom-hint{font-size:.72rem}.tp-herb-bar-zoom-btns{align-items:center;gap:.25rem;display:flex}.tp-herb-bar-zoom-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);min-width:1.75rem;color:var(--text);cursor:pointer;padding:.2rem .45rem;font-size:.85rem;font-weight:600;line-height:1.2;transition:background .12s,border-color .12s}.tp-herb-bar-zoom-btn:hover{background:var(--bg-hover);border-color:var(--accent-dim)}.tp-herb-bar-zoom-level{text-align:center;font-variant-numeric:tabular-nums;min-width:2.75rem;color:var(--text-muted);font-size:.78rem}.tp-herb-bar-zoom-reset{font-size:.72rem;font-weight:500}.tp-herb-bar-zoom-toggle{margin-left:.15rem;font-size:.72rem;font-weight:500}.tp-herb-bar-zoom-toggle.active{border-color:var(--accent-dim);color:var(--accent);background:#5bb5a82e}.tp-herb-bar-total{white-space:nowrap;font-size:.78rem}.tp-herb-bar-viewport{max-width:100%;position:relative}.tp-herb-bar-scroll{cursor:grab;overscroll-behavior:contain;max-width:100%;padding-bottom:.25rem;position:relative;overflow:auto hidden}.tp-herb-bar-scroll.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.tp-herb-bar-scroll.is-zoom-mode{cursor:zoom-in}.tp-herb-bar-scroll.is-zoom-mode.is-dragging{cursor:grabbing}.tp-herb-bar-svg{min-width:100%;display:block}.tp-herb-bar-scroll--card-fit{padding-bottom:0}.tp-herb-bar-svg--card-fit{min-width:0}.tp-herb-bar-fill{transition:fill .12s,opacity .12s}.tp-herb-bar-label{fill:var(--text-muted)}.tp-herb-bar-axis{stroke:var(--border);stroke-width:1px}.tp-herb-bar-tooltip-floating{z-index:5;pointer-events:none;white-space:normal;max-width:12rem;position:absolute}.tp-herb-bar-rank{font-size:.72rem;display:block;color:var(--text-muted,#8fa3b8)!important}.tp-collect-chart-section{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.tp-herb-rankings-row{--tp-rank-card-min-height:10.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.tp-herb-top-stats-row{gap:var(--tp-detail-stats-gap,1rem);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tp-herb-top-stats-row .tp-herb-hbar-card{grid-column:span 1;min-width:0}.tp-herb-hbar-card--compact{flex-direction:column;gap:.2rem;padding:.65rem .75rem;display:flex}.tp-herb-hbar-card--compact .tp-herb-hbar-sub{margin:0;font-size:.62rem;line-height:1.2}.tp-herb-hbar-card--compact .tp-herb-hbar-chart{flex:1;justify-content:space-between;gap:.22rem;min-height:0}.tp-herb-hbar-card--compact .tp-herb-hbar-row{grid-template-columns:.85rem 2.75rem minmax(0,1fr) 1.65rem;gap:.25rem;font-size:.62rem}.tp-herb-hbar-card--compact .tp-herb-hbar-track{height:8px}.tp-herb-hbar-card--compact .tp-herb-bracket-chart{flex:1;align-content:space-between;gap:.18rem .3rem;min-height:0;font-size:.62rem}.tp-herb-hbar-card{grid-column:span 2;min-width:0}@media (max-width:720px){.tp-herb-hbar-card{grid-column:span 1}}.tp-herb-hbar-title{font-size:.75rem!important}.tp-herb-hbar-sub{color:var(--text-muted);margin:0 0 .5rem;font-size:.65rem;line-height:1.35}.tp-herb-hbar-chart{flex-direction:column;gap:.35rem;display:flex}.tp-herb-hbar-row{grid-template-columns:1rem 3.25rem minmax(0,1fr) 2rem;align-items:center;gap:.35rem;font-size:.68rem;line-height:1.2;display:grid}.tp-herb-hbar-rank{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.tp-herb-hbar-name{text-transform:none;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500;overflow:hidden}.tp-herb-hbar-track{background:var(--border-subtle);border-radius:2px;min-width:0;height:10px;overflow:hidden}.tp-herb-hbar-fill{border-radius:2px;min-width:2px;height:100%}.tp-herb-hbar-fill--most{background:var(--accent)}.tp-herb-hbar-fill--least{background:#7eb8e8}.tp-herb-hbar-fill--bracket{background:#5bb5a8d9}.tp-herb-bracket-chart{grid-template-columns:max-content minmax(0,1fr) 1.75rem 1.5rem;align-items:center;gap:.28rem .4rem;font-size:.68rem;line-height:1.2;display:grid}.tp-herb-bracket-track{height:6px}.tp-herb-bracket-label{text-align:right;color:var(--text);white-space:nowrap;padding-right:.15rem;font-size:.65rem;font-weight:500;line-height:1.2}.tp-herb-bracket-share{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:.58rem}.tp-herb-hbar-value{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right;font-size:.65rem}.tp-herb-hbar-empty{margin:.2rem 0 0;font-size:.68rem}.tp-herb-share-card .tp-kpi-num{font-size:1.25rem}.tp-herb-share-metrics{gap:1rem;margin:.35rem 0 .25rem;display:flex}.tp-herb-share-metric{flex:1;min-width:0}.tp-herb-share-label{color:var(--text-muted);margin-bottom:.2rem;font-size:.72rem;display:block}.tp-percentile-chart{margin-top:0}.tp-herb-analytics-panel{flex-direction:column;gap:1rem;display:flex}.tp-herb-analytics-drawer{gap:0}.tp-herb-analytics-drawer-head{background:var(--bg-card);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);text-align:left;cursor:pointer;color:inherit;border-radius:12px;align-items:flex-start;gap:.5rem;padding:1.25rem 1.5rem;transition:background .15s,border-color .15s;display:flex}.tp-herb-analytics-drawer-head:hover{background:var(--bg-hover)}.tp-herb-analytics-drawer-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tp-herb-analytics-drawer-chevron{color:var(--text-muted);flex-shrink:0;margin-top:.2rem;font-size:.65rem;transition:transform .25s}.tp-herb-analytics-drawer.is-expanded .tp-herb-analytics-drawer-chevron{transform:rotate(180deg)}.tp-herb-analytics-drawer-trigger-text{flex:1;min-width:0}.tp-herb-analytics-drawer-summary{margin-bottom:0}.tp-herb-analytics-drawer-body{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.tp-herb-analytics-drawer.is-expanded .tp-herb-analytics-drawer-body{grid-template-rows:1fr}.tp-herb-analytics-drawer-inner{min-height:0;overflow:hidden}.tp-herb-analytics-drawer.is-expanded{gap:1rem}.tp-herb-analytics-drawer.is-expanded .tp-herb-analytics-drawer-inner{flex-direction:column;gap:1rem;display:flex}.tp-herb-analytics-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.tp-herb-analytics-row-card{min-width:0;height:100%}.tp-herb-chart-head-controls{flex-wrap:wrap;justify-content:flex-end}.tp-herb-bar-controls.is-compact{gap:.2rem}.tp-herb-bar-controls.is-compact .tp-herb-bar-zoom-hint{display:none}@media (max-width:960px){.tp-herb-analytics-row{grid-template-columns:1fr}}.tp-herb-analytics-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.tp-herb-analytics-title{margin:0 0 .25rem;font-size:1.05rem;font-weight:600}.tp-herb-analytics-bin-select{color:var(--text-muted);flex-shrink:0;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.tp-herb-bin-width-control{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.tp-herb-bin-width-input{-moz-appearance:textfield;width:5.5rem;padding-right:.55rem}.tp-herb-bin-width-input::-webkit-outer-spin-button{-webkit-appearance:auto;opacity:1}.tp-herb-bin-width-input::-webkit-inner-spin-button{-webkit-appearance:auto;opacity:1}.tp-herb-bin-width-auto-hint{white-space:nowrap;font-size:.72rem}.tp-herb-stats-grid-card h4{margin-bottom:0}.tp-herb-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.tp-herb-stats-group h5{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.82rem;font-weight:600}.tp-herb-stats-items{flex-direction:column;gap:.35rem;margin:0;display:flex}.tp-herb-stats-item{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.88rem;display:flex}.tp-herb-stats-item dt{color:var(--text-muted);margin:0}.tp-herb-stats-item dd{text-align:right;margin:0;font-weight:600}.tp-herb-stats-item dd .tp-muted{font-size:.75rem;font-weight:400;display:block}.tp-collect-chart-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.tp-collect-chart-toolbar label{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.tp-collect-chart-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236b6b66' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;padding:.35rem 1.6rem .35rem .55rem;font-size:.85rem}.tp-line-chart-host{position:relative}.tp-line-svg{width:100%;height:auto;display:block}.tp-chart-hit{cursor:crosshair}.tp-chart-tooltip{z-index:2;pointer-events:none;background:var(--bg-elevated);border:1px solid var(--border);white-space:nowrap;box-shadow:var(--shadow);border-radius:8px;padding:.4rem .6rem;font-size:.78rem;line-height:1.35;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.tp-chart-tooltip strong{color:var(--text);margin-bottom:.15rem;font-weight:600;display:block}.tp-kpi-sub{color:var(--text-muted,#8fa3b8);margin-top:.2rem;font-size:.72rem;display:block}.tp-kpi-warn,.tp-error-cell{color:#e8a87c}.tp-coverage-low{color:#e8a87c;font-weight:600}.tp-anomaly-hint{max-width:52rem;margin:.35rem 0 0;font-size:.78rem;line-height:1.45}.tp-task-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.tp-task-card{text-align:left;border:1px solid var(--border,#e8e8e4);cursor:pointer;background:#fff;border-radius:12px;width:100%;padding:1rem 1.1rem;transition:border-color .15s,box-shadow .15s;display:block}.tp-task-card:hover{border-color:#5bb5a8;box-shadow:0 4px 14px #0000000f}.tp-task-card--warning{border-color:#e8a87c8c}.tp-task-card--inactive{opacity:.82}.tp-task-card__head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.75rem;display:flex}.tp-task-card__head h4{margin:0;font-size:1rem}.tp-task-card__slug{color:var(--text-muted,#9b9b96);text-transform:uppercase;font-size:.72rem}.tp-task-card__stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;display:grid}.tp-task-card__stats dt{color:var(--text-muted,#9b9b96);font-size:.72rem}.tp-task-card__stats dd{margin:.15rem 0 0;font-size:.9rem;font-weight:600}.tp-task-monitor-banner{background:#5bb5a814;border:1px solid #5bb5a859;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.tp-task-monitor-panel .tp-anomaly-hint,.tp-task-monitor-subtabs{margin-bottom:.75rem}.tp-task-filters{flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem;margin-bottom:.75rem;display:flex}.tp-task-filters label{color:var(--text-muted,#9b9b96);flex-direction:column;gap:.2rem;font-size:.78rem;display:flex}.tp-task-filters input,.tp-task-filters select{border:1px solid var(--border,#e8e8e4);border-radius:6px;min-width:7rem;padding:.35rem .5rem;font-size:.85rem}.tp-task-pager{justify-content:center;align-items:center;gap:1rem;margin-top:.85rem;display:flex}.tp-trace-drawer-backdrop{z-index:1200;background:#00000059;justify-content:flex-end;display:flex;position:fixed;inset:0}.tp-trace-drawer{background:#fff;width:min(420px,92vw);height:100%;padding:1rem 1.1rem 2rem;overflow-y:auto;box-shadow:-8px 0 24px #0000001f}.tp-trace-drawer__head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.tp-trace-keyword{border-bottom:1px solid var(--border,#e8e8e4);margin-bottom:1rem;padding-bottom:.75rem}.tp-trace-term{word-break:break-word;font-size:.8rem}.tp-trace-timeline{margin:0;padding:0;list-style:none}.tp-trace-timeline__item{grid-template-columns:12px 1fr;gap:.65rem;padding-bottom:1rem;display:grid;position:relative}.tp-trace-timeline__item:not(:last-child):before{content:"";background:#e8e8e4;width:2px;position:absolute;top:14px;bottom:0;left:5px}.tp-trace-dot{background:#7eb8e8;border-radius:50%;width:10px;height:10px;margin-top:4px}.tp-trace-timeline__item--error .tp-trace-dot{background:#e8a87c}.tp-error-trace-list{flex-direction:column;gap:1.25rem;display:flex}.tp-error-trace-group{border:1px solid var(--border,#e8e8e4);background:#fff;border-radius:8px;padding:1rem 1.1rem}.tp-error-trace-group__head{margin:0 0 .75rem}.tp-error-trace-group__head h4{margin:0;font-size:.95rem;font-weight:600}.tp-error-reasons{flex-wrap:wrap;gap:.45rem;margin-bottom:.75rem;display:flex}.tp-error-chip{color:var(--text);background:#e8a87c1f;border:1px solid #e8a87c59;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.78rem;display:inline-flex}.tp-error-chip strong{color:#e8a87c;font-variant-numeric:tabular-nums}.tp-chart-tooltip span{color:var(--accent);font-variant-numeric:tabular-nums;display:block}.tp-chart-tooltip-muted{font-size:.72rem;color:var(--text-muted,#8fa3b8)!important}.tp-grid-line{stroke:var(--border-subtle);stroke-width:1px}.tp-line-area{fill:#5bb5a840}.tp-line-stroke{fill:none;stroke:var(--chart-teal);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.tp-line-dot{fill:var(--chart-teal)}.tp-axis-label{fill:var(--text-faint);font-size:10px}.usage-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.usage-date-range{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.8rem;display:inline-flex}.usage-quick-btns{gap:.2rem;display:flex}.usage-quick-btn{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.35rem .55rem;font-size:.78rem;font-weight:500;transition:background .12s,color .12s}.usage-quick-btn:hover{background:var(--bg-hover);color:var(--text)}.usage-quick-btn.active{background:var(--bg-active);color:var(--text)}.usage-chart-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.usage-chart-controls{flex-shrink:0;gap:.5rem;display:flex}.usage-select-group{color:var(--text-muted);align-items:center;gap:.35rem;font-size:.78rem;display:flex}.usage-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236b6b66' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;padding:.35rem 1.6rem .35rem .55rem;font-size:.78rem}.usage-select:focus{border-color:var(--accent);outline:2px solid #2d8a7e33}.usage-legend{border-top:1px solid var(--border-subtle);color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:.75rem;padding-top:.75rem;font-size:.78rem;display:flex}.usage-legend-item{align-items:center;gap:.35rem;display:flex}.usage-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.tp-herb-table .tp-row-anomaly{background:#d645500a}.tp-anomaly-reason{color:var(--text-muted);max-width:280px;font-size:.82rem}.tp-platform-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.tp-platform-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;transition:border-color .15s,box-shadow .15s,transform .15s}.tp-platform-card:hover{border-color:var(--border);transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.tp-platform-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.tp-platform-head h3{margin:0;font-size:1.05rem}.tp-stale-badge{border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.tp-stale-badge.stale-ok,.tp-stale-badge.stale-ok,.stale-ok{color:var(--success);background:#3d9a6a1f}.stale-warning{color:#a67c2e;background:#c8963c1f}.stale-danger{color:var(--danger);background:#d645501a}.tp-stale-badge.stale-resolved,.stale-resolved{color:var(--success);background:#3d9a6a1f}.tp-anomaly-jump-btn{cursor:pointer;font:inherit;border:none;transition:background .15s,box-shadow .15s}.tp-anomaly-jump-btn.stale-danger:hover{background:#d645502e;box-shadow:0 0 0 1px #d6455033}.tp-anomaly-jump-btn.stale-resolved:hover{background:#3d9a6a33;box-shadow:0 0 0 1px #3d9a6a40}.tp-anomaly-jump-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tp-row-resolved td{background:#3d9a6a0a}.tp-stale-badge.stale-soon{color:var(--text-muted);background:#8fa3b81f}.tp-matrix-row-upcoming{opacity:.88}.tp-matrix-name{color:var(--text-muted)}.tp-upcoming-hint{color:var(--text-muted);margin:.35rem 0 0;font-size:.85rem}.tp-platform-progress{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.tp-platform-bar{background:var(--border-subtle);border-radius:999px;flex:1;height:4px;overflow:hidden}.tp-platform-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .6s ease-out}.tp-platform-pct{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;min-width:2.5rem;font-size:.8rem}.tp-platform-metrics{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}.tp-platform-metrics span{color:var(--text-muted);margin-bottom:.2rem;font-size:.75rem;display:block}.tp-platform-metrics strong{font-variant-numeric:tabular-nums;font-size:.95rem}.tp-platform-meta{color:var(--text-muted);margin:0 0 .75rem;font-size:.78rem}.tp-platform-link{font-size:.85rem;font-weight:600}@media (max-width:768px){.topbar{height:auto;padding:calc(.65rem + env(safe-area-inset-top)) 1rem .65rem;flex-wrap:wrap;gap:.5rem}.topbar-brand{margin-right:.5rem;padding-left:0}.topbar-sidebar-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);align-self:center;width:44px;height:44px;margin-left:0}.topbar-nav{order:3;width:100%;padding-bottom:.15rem}.topbar-actions{margin-left:auto}.topbar-user-info{display:none}.main{padding:1rem}.page-header{flex-direction:column}.settings-layout{grid-template-columns:1fr}.settings-tabs{flex-flow:wrap}.history-item{flex-direction:column;align-items:flex-start}.tp-shell:not(.tp-sidebar-collapsed){grid-template-columns:minmax(0,1fr)}.tp-sidebar-backdrop{z-index:340;cursor:pointer;background:#0f172a6b;border:none;margin:0;padding:0;position:fixed;inset:0}.tp-shell:not(.tp-sidebar-collapsed) .tp-sidebar{z-index:360;width:min(var(--tp-sidebar-width), 88vw);max-height:none;padding-top:calc(1rem + env(safe-area-inset-top));display:flex;position:fixed;top:0;bottom:0;left:0;transform:none;box-shadow:4px 0 24px #0000001f}.tp-pipeline{flex-direction:column}.tp-pipeline-segment{flex-direction:column;align-items:stretch}.tp-pipeline-connector{width:2px;height:16px;margin:0 auto}.tp-detail-stats-block{--tp-summary-row-h:auto}.tp-detail-summary-grid{grid-template-rows:auto auto auto;grid-template-columns:repeat(2,minmax(0,1fr))}.tp-detail-summary-kpi:first-child{grid-area:1/1}.tp-search-summary-card{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;display:grid}.tp-search-summary-card .tp-summary-card__head{grid-column:1/-1}.tp-search-summary-body{flex-direction:row;grid-area:2/1/auto/-1;justify-content:space-between;align-items:center;gap:.5rem}.tp-search-summary-pie-wrap{width:7.5rem;height:7.5rem}.tp-search-summary-legend-row{gap:.35rem}.tp-search-summary-legend-label{font-size:.6875rem}.tp-search-summary-legend-stats strong{font-size:.75rem}.tp-detail-summary-kpi:nth-child(2){grid-area:1/2}.tp-detail-summary-kpi,.tp-herb-stat-card{height:auto;min-height:var(--tp-rank-card-min-height);max-height:none}.tp-detail-summary-chart{aspect-ratio:2;grid-area:2/1/auto/-1;width:100%;height:auto;min-height:14rem;max-height:none}.tp-ingest-summary-panel .usage-chart-head{flex-direction:column;align-items:stretch}.tp-herb-top-stats-row{grid-template-columns:1fr}.tp-main{padding:1rem .75rem 1.25rem}.tp-main-header{flex-direction:column;align-items:stretch}.tp-main-header h2{font-size:1.25rem}.tp-section-head{flex-direction:column;align-items:stretch}.tp-section-head-meta{flex-wrap:wrap;justify-content:flex-start;width:100%}.tp-detail-actions{justify-content:flex-start;width:100%}.tp-detail-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tp-detail-tabs::-webkit-scrollbar{display:none}.tp-detail-tab{flex-shrink:0;padding:.55rem .75rem;font-size:.82rem}.tp-refs-head{gap:.75rem}.tp-refs-toolbar{flex-wrap:wrap;width:100%}.tp-refs-table,.tox-table{min-width:0}.tp-refs-title{min-width:0;max-width:none}.tp-hide-sm{display:none}.tp-matrix-wrap .tp-matrix th:first-child,.tp-matrix-wrap .tp-matrix td:first-child{z-index:2;background:var(--bg-card);position:sticky;left:0}.tp-matrix-wrap .tp-matrix thead th:first-child{z-index:3;background:var(--bg-elevated)}.tp-matrix th,.tp-matrix td{padding:.5rem .55rem;font-size:.82rem}.tp-matrix-bar-cell{min-width:100px}.tp-collect-platform .tp-matrix-link,.tp-matrix td:first-child .tp-matrix-link{white-space:normal;align-items:center;max-width:12rem;min-height:36px;line-height:1.25;display:inline-flex}.tp-task-filters{flex-direction:column;align-items:stretch}.tp-task-filters label,.tp-task-filters input,.tp-task-filters select{width:100%}.table-wrap{-webkit-overflow-scrolling:touch}.tp-refs-pagination{flex-wrap:wrap;gap:.5rem}.tp-collect-chart-section{gap:1rem}.tp-chart-card{border-radius:10px;min-height:0;padding:.9rem}.tp-chart-card h4{font-size:.95rem}.tp-chart-sub{font-size:.74rem;line-height:1.45}.tp-herb-analytics-drawer-head{padding:.85rem}.tp-herb-analytics-title{font-size:.98rem}.tp-herb-analytics-drawer-summary{font-size:.76rem}.tp-herb-analytics-drawer.is-expanded{gap:.75rem}.tp-herb-bar-head{flex-direction:column;align-items:stretch;gap:.65rem}.tp-herb-bar-controls,.tp-herb-chart-head-controls{align-items:stretch;width:100%}.tp-herb-bar-controls.is-compact .tp-herb-bar-zoom-hint,.tp-herb-bar-zoom-hint{display:none}.tp-herb-bar-zoom-btns{flex-wrap:wrap;justify-content:flex-start}.tp-herb-bar-zoom-btn{min-height:32px}.tp-herb-bin-width-control,.tp-herb-analytics-bin-select{flex-wrap:wrap;width:100%}.tp-collect-chart-select,.tp-herb-bin-width-input{min-height:36px}.tp-herb-bar-scroll{-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.tp-herb-bar-scroll:after{content:"左右滑动查看完整图表";color:var(--text-muted);pointer-events:none;background:#ffffffd1;border-radius:999px;margin-top:.25rem;padding:.15rem .45rem;font-size:.68rem;display:inline-block;position:sticky;left:0}.tp-herb-analytics-row{gap:.75rem}.usage-legend{gap:.4rem;font-size:.72rem}.tp-mobile-card-table{border-collapse:separate;border-spacing:0;width:100%;min-width:0;display:block}.tp-mobile-card-table thead{display:none}.tp-mobile-card-table tbody{gap:.75rem;display:grid}.tp-mobile-card-table tr{border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow);border-radius:12px;gap:.45rem;padding:.85rem;display:grid}.tp-mobile-card-table td{text-align:left;border-bottom:none;grid-template-columns:minmax(5.5rem,32%) minmax(0,1fr);align-items:start;gap:.6rem;min-width:0;padding:0;font-size:.84rem;display:grid}.tp-mobile-card-table td:before{content:attr(data-label);color:var(--text-muted);font-size:.75rem;font-weight:600;line-height:1.4}.tp-mobile-card-table td:first-child{grid-template-columns:1fr;padding-bottom:.25rem}.tp-mobile-card-table td:first-child:before{display:none}.tp-task-card-table td:first-child{grid-template-columns:minmax(5.5rem,32%) minmax(0,1fr);padding-bottom:0}.tp-task-card-table td:first-child:before{display:block}.tp-mobile-card-table .tp-collect-platform,.tp-mobile-card-table .tp-herb-name-link{font-size:.95rem}.tp-mobile-card-table .tp-tabular,.tp-mobile-card-table .tp-matrix-date{text-align:left;white-space:normal}.tp-mobile-card-table .tp-anomaly-reason,.tp-mobile-card-table .tp-collect-action{min-width:0}.tp-mobile-card-table .tp-collect-action .tp-platform-link{width:-moz-fit-content;width:fit-content;display:inline-flex}.tp-matrix-wrap .tp-mobile-card-table th:first-child,.tp-matrix-wrap .tp-mobile-card-table td:first-child{z-index:auto;background:0 0;position:static;left:auto}.tp-page{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width:520px){.brand-name{max-width:7.5rem}.topbar-item{padding:.4rem .55rem;font-size:.8rem}.tp-detail-summary-grid{grid-template-columns:1fr}.tp-detail-summary-kpi:first-child,.tp-detail-summary-kpi:nth-child(2){grid-area:auto/1}.tp-detail-summary-chart{aspect-ratio:16/10;min-height:11rem}.tp-search-summary-pie-wrap{width:6.5rem;height:6.5rem}}.tp-refs-page{max-width:100%}.tp-refs-search{flex-direction:column;gap:.5rem;display:flex}.tp-refs-search-hint{margin:0;font-size:.85rem;line-height:1.5}.tp-refs-search-hint code{font-size:.82rem}.tp-refs-table{min-width:1320px}.tp-refs-table th{white-space:nowrap;z-index:1;background:var(--bg-elevated);position:sticky;top:0}.tp-refs-table td{vertical-align:top;font-size:.85rem}.tp-refs-id{white-space:nowrap;color:var(--accent-dim)}.tp-refs-title{min-width:180px;max-width:220px}.tp-refs-alias{min-width:160px;max-width:220px;color:var(--text-muted)}.tp-refs-abstract{min-width:200px;max-width:280px;color:var(--text-muted)}.tp-refs-keyword{min-width:120px;max-width:160px;color:var(--text-muted)}.tp-refs-pagination{justify-content:center;align-items:center;gap:1rem;font-size:.9rem;display:flex}.tp-refs-source-card{color:inherit;text-decoration:none}.tp-refs-source-card:hover{text-decoration:none}@media (max-width:768px){.tp-refs-table{min-width:0}.tp-refs-title{min-width:0;max-width:none}.tp-refs-pagination{flex-wrap:wrap;gap:.5rem}}
