@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--bg:#fbfaf7;--bg-soft:#f5f3ee;--surface:#ffffff;--surface-2:#faf9f6;--line:#ece8e0;--line-strong:#d9d3c7;--ink:#1a1714;--ink-2:#44413c;--ink-3:#6f6a61;--ink-4:#98938a;--ink-5:#b8b3a8;--accent:#2347d9;--accent-2:#1c3ab8;--accent-soft:#eef1fe;--accent-ink:#1a36a8;--green:#138a4a;--green-soft:#e6f4ec;--amber:#b76e00;--amber-soft:#fcf1dc;--red:#c0392b;--red-soft:#fbe9e7;--purple:#6d3bb8;--purple-soft:#f0e9fb;--teal:#0d7d8a;--teal-soft:#e3f3f5;--st-planned:#6f6a61;--st-cast:#b76e00;--st-cure:#6d3bb8;--st-stock:#0d7d8a;--st-shipped:#138a4a;--st-mounted:#1a3c8a;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-1:0 1px 0 rgba(26,23,20,0.04),0 1px 2px rgba(26,23,20,0.04);--shadow-2:0 1px 0 rgba(26,23,20,0.04),0 6px 16px -4px rgba(26,23,20,0.08);--shadow-3:0 12px 32px -8px rgba(26,23,20,0.18);--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--row-h:32px;--pad-cell:10px;--base:13px}[data-density=dense]{--row-h:28px;--pad-cell:8px;--base:12.5px}[data-density=airy]{--row-h:38px;--pad-cell:12px;--base:13.5px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--base);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","ss03";letter-spacing:-.005em}button{font-family:inherit;font-size:inherit;cursor:pointer}.app{width:100%;height:100vh;min-height:100vh;display:grid;grid-template-columns:var(--side-w,232px) 1fr;background:var(--bg);color:var(--ink)}[data-side=collapsed] .app,[data-side=icons] .app{--side-w:56px}.hn-root{position:relative}.hn-resize{width:6px;cursor:col-resize;z-index:30;touch-action:none}.hn-resize,.hn-resize:after{position:absolute;top:0;bottom:0;right:0}.hn-resize:after{content:"";width:2px;background:transparent;transition:background .12s ease}.hn-resize:hover:after{background:var(--accent)}.app[data-nav-collapsed] .hn-root{overflow:visible}.app[data-nav-collapsed] .hn-submenu{position:absolute;left:64px;top:0;bottom:0;width:var(--hn-submenu-w,204px);z-index:60;background:var(--surface);border-right:1px solid var(--line);box-shadow:6px 0 24px rgba(0,0,0,.1);transform:translateX(-8px);opacity:0;pointer-events:none;transition:transform .14s ease,opacity .14s ease}.app[data-nav-collapsed] .hn-root:focus-within .hn-submenu,.app[data-nav-collapsed] .hn-root:hover .hn-submenu{transform:translateX(0);opacity:1;pointer-events:auto}.app[data-nav-collapsed] .hn-root.hn-no-peek:hover .hn-submenu{transform:translateX(-8px);opacity:0;pointer-events:none}.side{background:var(--bg-soft);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.side-head{padding:14px 14px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.brand-mark{width:26px;height:26px;border-radius:6px;background:linear-gradient(135deg,#1a1714,#44413c);position:relative;flex-shrink:0}.brand-mark:after,.brand-mark:before{content:"";position:absolute;background:#fbfaf7}.brand-mark:before{left:6px;top:6px;width:14px;height:2px}.brand-mark:after{left:6px;top:12px;width:10px;height:2px}.brand-mark>span{position:absolute;left:6px;top:18px;width:6px;height:2px;background:#fbfaf7;display:block}.brand-name{font-weight:600;font-size:13.5px;letter-spacing:-.01em;flex:1}.brand-sub{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em}[data-side=collapsed] .brand-name,[data-side=collapsed] .brand-sub,[data-side=icons] .brand-name,[data-side=icons] .brand-sub{display:none}.org-pill{margin:10px;display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:12px}.org-pill .org-mark{width:18px;height:18px;border-radius:4px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:600}.org-pill .org-name{flex:1;font-weight:500}.org-pill .org-chev{color:var(--ink-4)}[data-side=collapsed] .org-pill,[data-side=icons] .org-pill{display:none}.side-search{margin:6px 10px 8px;display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);font-size:12px;color:var(--ink-4)}.side-search .kbd{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-4);border:1px solid var(--line);background:var(--bg);padding:1px 4px;border-radius:3px}[data-side=collapsed] .side-search,[data-side=icons] .side-search{display:none}.nav{padding:4px 8px;flex:1;overflow:auto}.nav-section{padding:10px 8px 4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-weight:500}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-sm);font-size:13px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;background:transparent;border:0;width:100%;text-align:left}.nav-item:hover{background:rgba(26,23,20,.04)}.nav-item.active{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:var(--shadow-1)}.nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.nav-item .ni-ico{width:16px;height:16px;flex-shrink:0;color:var(--ink-3)}.nav-item.active .ni-ico{color:var(--accent)}.nav-item .ni-label{flex:1}.nav-item .ni-count{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4)}[data-side=collapsed] .nav-item .ni-count,[data-side=collapsed] .nav-item .ni-label,[data-side=collapsed] .nav-section,[data-side=icons] .nav-item .ni-count,[data-side=icons] .nav-item .ni-label,[data-side=icons] .nav-section{display:none}[data-side=collapsed] .nav-item,[data-side=icons] .nav-item{justify-content:center}.side-foot{padding:10px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px}.avatar{width:26px;height:26px;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.user-meta{flex:1;min-width:0}.user-name{font-size:12.5px;font-weight:500}.user-role{font-size:11px;color:var(--ink-4)}[data-side=collapsed] .user-meta,[data-side=icons] .user-meta{display:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:48px;border-bottom:1px solid var(--line);background:var(--surface);padding:0 18px;gap:12px}.crumbs,.topbar{display:flex;align-items:center}.crumbs{gap:6px;font-size:13px;color:var(--ink-3)}.crumbs .sep{color:var(--ink-5)}.crumbs .here{color:var(--ink);font-weight:500}.tb-spacer{flex:1}.tb-actions{display:flex;align-items:center;gap:6px}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--ink-3)}.icon-btn:hover{background:var(--bg-soft);color:var(--ink)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-weight:500;font-size:12.5px;white-space:nowrap}.btn:hover{background:var(--bg-soft)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:var(--ink-2)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:var(--accent-2)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--bg-soft)}.btn.sm{height:26px;padding:0 8px;font-size:12px}.btn .kbd{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);border:1px solid var(--line);background:var(--bg);padding:0 4px;border-radius:3px;margin-left:4px}.page{flex:1;overflow:auto;min-height:0}.page-head{padding:20px 28px 14px;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:flex-start;gap:16px}.page-head h1{font-size:19px;font-weight:600;margin:0 0 4px;letter-spacing:-.015em}.page-head .sub{color:var(--ink-3);font-size:13px}.page-head .actions{margin-left:auto;display:flex;gap:8px;align-items:center}.page-body{padding:20px 28px}.tabs{gap:2px;border-bottom:1px solid var(--line);background:var(--surface);padding:0 22px}.tab,.tabs{display:flex}.tab{padding:8px 12px;font-size:13px;color:var(--ink-3);border:0;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;align-items:center;gap:6px;background:transparent}.tab.active,.tab:hover{color:var(--ink)}.tab.active{border-color:var(--ink);font-weight:500}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tab .count{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);background:var(--bg-soft);border-radius:3px;padding:1px 5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.card-head{padding:14px 16px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.card-head h3{font-size:13px;font-weight:600;margin:0;letter-spacing:-.005em}.card-head .sub{font-size:11.5px;color:var(--ink-4)}.card-head .right{margin-left:auto;display:flex;gap:6px;align-items:center}.card-body,.stat{padding:14px 16px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.stat .label{font-size:11.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.stat .value{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.stat .delta{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-family:var(--font-mono);margin-top:4px}.stat .delta.up{color:var(--green)}.stat .delta.down{color:var(--red)}.stat .delta.flat{color:var(--ink-4)}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-soft);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3)}.badge.green{background:var(--green-soft);color:var(--green);border-color:transparent}.badge.green .dot{background:var(--green)}.badge.amber{background:var(--amber-soft);color:var(--amber);border-color:transparent}.badge.amber .dot{background:var(--amber)}.badge.red{background:var(--red-soft);color:var(--red);border-color:transparent}.badge.red .dot{background:var(--red)}.badge.purple{background:var(--purple-soft);color:var(--purple);border-color:transparent}.badge.purple .dot{background:var(--purple)}.badge.teal{background:var(--teal-soft);color:var(--teal);border-color:transparent}.badge.teal .dot{background:var(--teal)}.badge.blue{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.badge.blue .dot{background:var(--accent)}.badge.solid{background:var(--ink);color:#fff;border-color:var(--ink)}.badge.solid .dot{background:#fff}.next-step-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-ink)}.next-step-banner .nsb-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.next-step-banner .nsb-content{flex:1;min-width:0}.next-step-banner .nsb-title{margin:0;font-size:13px;font-weight:600;line-height:1.35}.next-step-banner .nsb-desc{margin:2px 0 0;font-size:12px;line-height:1.4;color:var(--ink-3)}.next-step-banner .nsb-actions{display:flex;flex:none;align-items:center;gap:8px}.next-step-banner .nsb-dismiss{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--ink-4);cursor:pointer}.next-step-banner .nsb-dismiss:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink-2)}.next-step-banner.warning{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 22%,transparent);color:var(--amber)}.next-step-banner.warning .nsb-icon{background:color-mix(in srgb,var(--amber) 14%,transparent);color:var(--amber)}.next-step-banner.success{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 20%,transparent);color:var(--green)}.next-step-banner.success .nsb-icon{background:color-mix(in srgb,var(--green) 12%,transparent);color:var(--green)}.next-step-banner.neutral{background:var(--bg-soft);border-color:var(--line);color:var(--ink-2)}.next-step-banner.neutral .nsb-icon{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--ink-3)}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;border:1px dashed var(--line-strong);background:var(--surface);color:var(--ink-2);font-size:12px}.chip.set{border-style:solid;background:var(--bg-soft);color:var(--ink);font-weight:500}.chip .x{color:var(--ink-4);margin-left:2px;display:inline-flex;align-items:center;background:transparent;border:0;cursor:pointer;padding:0}.chip .x:hover{color:var(--ink)}.chip:hover{background:var(--bg-soft)}.search-input{display:flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-size:12.5px;color:var(--ink-3);min-width:220px}.search-input input{flex:1;border:0;outline:0;background:transparent;font:inherit;color:var(--ink)}.search-input:focus-within{border-color:var(--accent)}.search-input .kbd{font-family:var(--font-mono);font-size:10px;color:var(--ink-4);border:1px solid var(--line);background:var(--bg);padding:1px 4px;border-radius:3px}.toolbar{display:flex;gap:8px;align-items:center;padding:10px 22px;border-bottom:1px solid var(--line)}.toolbar,.toolbar .seg{background:var(--surface)}.toolbar .seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden}.toolbar .seg button{padding:0 10px;height:28px;border:0;background:transparent;font-size:12px;color:var(--ink-3);border-right:1px solid var(--line)}.toolbar .seg button:last-child{border-right:0}.toolbar .seg button.on{background:var(--bg-soft);color:var(--ink);font-weight:500}.toolbar .seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.toolbar .grow{flex:1}.progress-wrap{display:flex;flex-direction:column;gap:4px;width:100%}.progress-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--ink-3)}.progress-label{font-weight:500}.progress-value{font-variant-numeric:tabular-nums;color:var(--ink-4)}.progress{height:6px;background:var(--bg-soft);border-radius:999px;overflow:hidden;position:relative}.progress>span{display:block;height:100%;background:var(--ink);border-radius:999px;transition:width .2s ease-out}.progress.thin{height:4px}.progress.lg{height:10px}.progress-indeterminate>span{width:35%;background:linear-gradient(to right,transparent,var(--accent,var(--ink)),transparent);animation:progress-indeterminate 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.progress-indeterminate>span{animation:none;width:100%;opacity:.4}}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(285%)}}.tag{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);background:var(--bg-soft);padding:1px 5px;border-radius:3px;white-space:nowrap;display:inline-block}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:8px}.muted{color:var(--ink-3)}.muted-2{color:var(--ink-4)}.mono{font-family:var(--font-mono)}.tabular{font-variant-numeric:tabular-nums}.divider{height:1px;background:var(--line);margin:0}.avatars{display:flex}.avatars>.av{width:22px;height:22px;border-radius:50%;border:2px solid var(--surface);display:grid;place-items:center;font-size:10px;font-weight:600;color:#fff;margin-left:-6px}.avatars>.av:first-child{margin-left:0}.ic{width:14px;height:14px;flex-shrink:0}.ic-sm{width:12px;height:12px}.ic-lg{width:16px;height:16px}.m-app{font-size:14px;background:var(--bg);height:100%;display:flex;flex-direction:column}.m-top{padding:10px 16px 12px;border-bottom:1px solid var(--line);background:var(--surface)}.m-top h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.01em}.m-top .sub{color:var(--ink-3);font-size:12.5px}.m-body{flex:1;overflow:auto;padding:14px;background:var(--bg)}.m-tabbar{border-top:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:repeat(5,1fr);padding:6px 0 8px}.m-tab{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--ink-4);background:transparent;border:0;padding:4px 0;cursor:pointer}.m-tab.on{color:var(--accent)}.m-card{padding:14px;margin-bottom:10px}.data-table,.m-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}.data-table{display:flex;flex-direction:column;overflow:hidden}.dt-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface-2)}.dt-toolbar-left,.dt-toolbar-right{display:flex;align-items:center;gap:6px}.dt-toolbar-right{margin-left:auto}.dt-density-seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.dt-density-seg button{padding:0 10px;height:26px;border:0;background:transparent;font-size:12px;color:var(--ink-3);border-right:1px solid var(--line);cursor:pointer}.dt-density-seg button:last-child{border-right:0}.dt-density-seg button.on{background:var(--bg-soft);color:var(--ink);font-weight:500}.dt-bulk{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--accent-soft);border-bottom:1px solid var(--line);color:var(--accent-ink);font-size:12.5px}.dt-bulk-count strong{font-weight:600;color:var(--ink)}.dt-bulk-sep{color:var(--ink-4)}.dt-bulk-grow{flex:1}.dt-bulk-danger{color:var(--red);border-color:var(--red-soft)}.dt-scroll{overflow-x:hidden;overflow-y:auto;position:relative;max-height:calc(100vh - 280px)}.dt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--base);table-layout:fixed}.dt-table thead{position:sticky;top:0;z-index:3}.dt-table thead,.dt-th{background:var(--surface-2)}.dt-th{padding:0;border-bottom:1px solid var(--line);text-align:left;font-weight:500;font-size:12px;color:var(--ink-3);-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;vertical-align:middle}.dt-th[data-align=right]{text-align:right}.dt-th-select,.dt-th[data-align=center]{text-align:center}.dt-th-select{padding:0 8px}.dt-th-inner{display:flex;padding:0 var(--pad-cell);height:var(--row-h);position:relative}.dt-th-inner,.dt-th-label{align-items:center;gap:4px}.dt-th-label{display:inline-flex;border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:inherit;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dt-th-label:disabled{cursor:default}.dt-th-label>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-sort-ico{flex-shrink:0;color:var(--ink)}.dt-grip,.dt-sort-ico-muted{color:var(--ink-5)}.dt-grip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:18px;border:0;background:transparent;cursor:grab;flex-shrink:0;padding:0}.dt-grip:hover{color:var(--ink-3)}.dt-grip:active{cursor:grabbing}.dt-th-dragging{background:var(--accent-soft)}.dt-resize-handle{position:absolute;top:0;right:-2px;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.dt-resize-handle:active,.dt-resize-handle:hover{background:var(--accent);opacity:.4}.dt-tr{cursor:default}.dt-tr:hover{background:var(--bg-soft)}.dt-tr-selected{background:var(--accent-soft)!important}.dt-tr-focus{background:var(--bg-soft);box-shadow:inset 2px 0 0 var(--accent,#2563eb)}.dt-tr-skeleton{pointer-events:none}.dt-td{padding:0 var(--pad-cell);height:var(--row-h);border-bottom:1px solid var(--line);vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}.dt-td[data-align=right]{text-align:right;font-variant-numeric:tabular-nums}.dt-td-select,.dt-td[data-align=center]{text-align:center}.dt-td-select{padding:0 8px}.dt-cell-active{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft);position:relative;z-index:1}.dt-foot{display:flex;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--line);background:var(--surface-2);font-size:11.5px;color:var(--ink-3)}.dt-foot-hint{margin-left:auto;color:var(--ink-4);font-size:11px;gap:4px}.dt-foot-hint,.dt-foot-kbd{display:inline-flex;align-items:center}.dt-foot-kbd{justify-content:center;min-width:18px;height:16px;padding:0 4px;background:var(--bg-soft);border:solid var(--line);border-width:1px 1px 2px;border-radius:3px;font-family:inherit;font-size:10.5px;font-weight:500;color:var(--ink-3)}.dt-empty-wrap{padding:32px 16px;display:flex;align-items:center;justify-content:center}.dt-empty{text-align:center;max-width:320px}.dt-empty-title{font-weight:500;margin-bottom:4px}.dt-empty-sub{color:var(--ink-3);font-size:12.5px;line-height:1.5}.dt-skel{display:inline-block;width:60%;height:12px;border-radius:4px;background:linear-gradient(90deg,var(--bg-soft) 0,var(--line) 50%,var(--bg-soft) 100%);background-size:200% 100%;animation:dt-shimmer 1.4s infinite}@keyframes dt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.dt-skel{animation:none}}.dt-menu-wrap{position:relative;display:inline-block}.dt-menu-backdrop{position:fixed;inset:0;z-index:40}.dt-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:41;min-width:220px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:1px}[data-radix-popper-content-wrapper] .dt-menu{position:relative;top:auto;left:auto}.dt-menu-section{padding:6px 8px 4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:500}.dt-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);font-size:12.5px;cursor:pointer;text-align:left;outline:0;width:100%}.dt-menu-item:hover,.dt-menu-item[data-highlighted]{background:var(--bg-soft)}.dt-menu-item:disabled,.dt-menu-item[data-disabled]{opacity:.5;cursor:default}.dt-menu-check{display:inline-flex;align-items:center;justify-content:center;width:14px;flex-shrink:0;color:var(--accent)}.dt-menu-caret{margin-left:auto;color:var(--ink-4)}.dt-menu-sep{height:1px;background:var(--line);margin:4px 0}.dt-menu-empty{padding:4px 8px 8px;font-size:12px;color:var(--ink-4)}.dt-menu-row{display:flex;align-items:center;gap:2px}.dt-menu-item-grow{min-width:0;flex:1}.dt-menu-ellipsis{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-menu-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-4);cursor:pointer;outline:0}.dt-menu-icon-btn:hover{background:var(--bg-soft);color:var(--ink-1)}.dt-menu-icon-btn:disabled{opacity:.4;cursor:default}.dt-menu-saverow{display:flex;align-items:center;gap:4px;padding:2px 8px 6px}.dt-menu-input{min-width:0;flex:1;padding:4px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:12.5px;outline:0}.dt-menu-input:focus{border-color:var(--accent)}.dt-group-zone{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:30px;padding:3px 8px;margin-bottom:6px;border:1px dashed var(--line);border-radius:var(--r-sm);background:var(--bg-soft);font-size:12px}.dt-group-zone-active{border-style:solid}.dt-group-zone-over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-soft))}.dt-group-zone-icon{color:var(--ink-4);flex-shrink:0}.dt-group-zone-hint{color:var(--ink-4)}.dt-group-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 2px 1px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-1);font-size:12px}.dt-group-chip-label{font-weight:500}.dt-group-chip-bucket{color:var(--ink-4);font-weight:400}.dt-group-chip-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;border-radius:999px;background:transparent;color:var(--ink-4);cursor:pointer}.dt-group-chip-btn:hover{background:var(--bg-soft);color:var(--ink-1)}.dt-group-clear{border:0;background:transparent;color:var(--ink-3);font-size:12px;cursor:pointer;padding:2px 4px}.dt-group-clear:hover{color:var(--ink-1);text-decoration:underline}.dt-group-row{cursor:pointer;background:var(--bg-soft)}.dt-group-row:hover{background:color-mix(in srgb,var(--accent) 6%,var(--bg-soft))}.dt-group-cell{padding:4px 8px!important;border-bottom:1px solid var(--line)}.dt-group-head{gap:8px}.dt-group-head,.dt-group-toggle{display:inline-flex;align-items:center}.dt-group-toggle{justify-content:center;width:16px;height:16px;padding:0;flex-shrink:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink-2);cursor:pointer}.dt-group-row:hover .dt-group-toggle{border-color:var(--accent);color:var(--accent)}.dt-group-head-col{color:var(--ink-4);font-weight:400}.dt-group-head-label{font-weight:600;color:var(--ink-1)}.dt-group-head-count{color:var(--ink-3);font-size:11px}.dt-group-head-agg{color:var(--ink-2);font-size:11px;font-variant-numeric:tabular-nums}.dt-group-head-agg-label{color:var(--ink-4)}.toast-viewport{position:fixed;top:16px;right:16px;z-index:9000;display:flex;flex-direction:column;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}.toast-viewport>*{pointer-events:auto}.toast{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px -8px rgba(0,0,0,.18),0 2px 4px -2px rgba(0,0,0,.06);overflow:hidden;animation:toast-in .18s ease-out}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-body{display:flex;align-items:flex-start;gap:10px;padding:10px 12px}.toast-icon{flex-shrink:0;margin-top:2px}.toast-success .toast-icon{color:var(--green-7,#16a34a)}.toast-error .toast-icon{color:var(--red-7,#dc2626)}.toast-warning .toast-icon{color:var(--amber-7,#d97706)}.toast-info .toast-icon{color:var(--blue-7,#2563eb)}.toast-content{flex:1 1 auto;min-width:0}.toast-title{font-size:13px;font-weight:500;color:var(--ink);line-height:1.35}.toast-desc{margin-top:2px;font-size:12px;color:var(--ink-3);line-height:1.45}.toast-action{flex-shrink:0;background:transparent;border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;color:var(--ink-2)}.toast-action:hover{background:var(--bg-soft);color:var(--ink)}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--ink-4)}.toast-close:hover{background:var(--bg-soft);color:var(--ink-2)}.toast-progress{height:2px;background:linear-gradient(to right,var(--ink-3) 0,var(--ink-3) 100%);transform-origin:left center;animation:toast-progress var(--toast-duration,4s) linear forwards}.toast-success .toast-progress{background:var(--green-7,#16a34a)}.toast-error .toast-progress{background:var(--red-7,#dc2626)}.toast-warning .toast-progress{background:var(--amber-7,#d97706)}.toast-info .toast-progress{background:var(--blue-7,#2563eb)}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast:hover .toast-progress{animation-play-state:paused}.cmd-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);z-index:9500;display:flex;align-items:flex-start;justify-content:center;padding-top:max(10vh,64px);padding-left:16px;padding-right:16px;animation:cmd-fade .12s ease-out}@media (prefers-reduced-motion:reduce){.cmd-backdrop{animation:none}}@keyframes cmd-fade{0%{opacity:0}to{opacity:1}}.cmd-dialog{width:100%;max-width:620px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 48px -12px rgba(0,0,0,.25),0 4px 12px -2px rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column;max-height:min(70vh,560px)}.cmd-input-row{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}.cmd-input-row-ai{background:linear-gradient(to right,color-mix(in srgb,var(--blue-3,#dbeafe) 18%,transparent),transparent 60%)}.cmd-input-icon{color:var(--ink-4);flex-shrink:0}.cmd-input-row-ai .cmd-input-icon{color:var(--blue-7,#2563eb)}.cmd-input{flex:1 1 auto;background:transparent;border:none;outline:none;color:var(--ink);font-size:15px;font-family:inherit}.cmd-input::-moz-placeholder{color:var(--ink-4)}.cmd-input::placeholder{color:var(--ink-4)}.cmd-mode-toggle{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:500;color:var(--ink-3)}.cmd-mode-toggle:hover{background:var(--bg-soft);color:var(--ink-2)}.cmd-mode-toggle-active{background:var(--blue-2,#eff6ff);border-color:var(--blue-5,#93c5fd);color:var(--blue-8,#1d4ed8)}.cmd-list{flex:1 1 auto;overflow-y:auto;padding:6px}.cmd-empty{padding:32px 16px;text-align:center;font-size:13px;color:var(--ink-4)}.cmd-group+.cmd-group{margin-top:6px}.cmd-group-title{padding:6px 8px 4px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}.cmd-item{width:100%;display:flex;align-items:center;gap:10px;padding:7px 10px;background:transparent;border:none;border-radius:6px;text-align:left;font-size:13px;color:var(--ink)}.cmd-item-active,.cmd-item:hover{background:var(--bg-soft)}.cmd-item-active{outline:1px solid color-mix(in srgb,var(--ink-3) 25%,transparent)}.cmd-item-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--ink-3);flex-shrink:0}.cmd-item-active .cmd-item-icon{color:var(--ink-2)}.cmd-item-label{flex:1 1 auto}.cmd-item-desc,.cmd-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmd-item-desc{font-size:11.5px;color:var(--ink-4);max-width:40%}.cmd-item-shortcut{flex-shrink:0;display:inline-flex;gap:2px}.cmd-footer-hint kbd,.cmd-item-shortcut kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--bg-soft);border:solid var(--line);border-width:1px 1px 2px;border-radius:4px;font-family:inherit;font-size:10.5px;font-weight:500;color:var(--ink-3)}.cmd-ai-hint{display:flex;align-items:flex-start;gap:10px;padding:24px 16px;color:var(--ink-3)}.cmd-ai-hint-title{font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:2px}.cmd-ai-hint-sub{font-size:12px;line-height:1.5}.cmd-ai-hint-soon{color:var(--ink-4);font-style:italic}.cmd-footer{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1px solid var(--line);background:var(--bg-soft);font-size:11px;color:var(--ink-4)}.cmd-footer-hint{display:inline-flex;align-items:center;gap:4px}.cmd-footer-spacer{flex:1 1 auto}.cmd-footer-brand{gap:4px;font-weight:500}.action-menu-trigger,.cmd-footer-brand{display:inline-flex;align-items:center;color:var(--ink-3)}.action-menu-trigger{justify-content:center;width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:6px}.action-menu-trigger:hover,.action-menu-trigger[data-state=open]{background:var(--bg-soft);border-color:var(--line);color:var(--ink-2)}.action-menu-content{min-width:180px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px -8px rgba(0,0,0,.18),0 2px 4px -2px rgba(0,0,0,.06);padding:4px;z-index:9200;animation:action-menu-in .1s ease-out}@media (prefers-reduced-motion:reduce){.action-menu-content{animation:none}}@keyframes action-menu-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.action-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border-radius:5px;font-size:13px;color:var(--ink);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none}.action-menu-item[data-highlighted]{background:var(--bg-soft)}.action-menu-item-disabled,.action-menu-item[data-disabled]{color:var(--ink-4);cursor:not-allowed}.action-menu-item-danger{color:var(--red-7,#dc2626)}.action-menu-item-danger[data-highlighted]{background:color-mix(in srgb,var(--red-3,#fee2e2) 60%,var(--surface));color:var(--red-8,#b91c1c)}.action-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;flex-shrink:0;color:var(--ink-3)}.action-menu-item-danger .action-menu-icon{color:inherit}.action-menu-label-text{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-menu-shortcut{flex-shrink:0;font-size:11px;color:var(--ink-4);letter-spacing:.04em}.action-menu-caret{margin-left:auto;color:var(--ink-4)}.action-menu-sep{height:1px;background:var(--line);margin:4px -4px}.action-menu-label{padding:6px 10px 2px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}.autosave{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--ink-4)}.autosave-pending{color:var(--amber-7,#d97706)}.autosave-saving{color:var(--ink-3)}.autosave-saved{color:var(--green-7,#16a34a)}.autosave-error{color:var(--red-7,#dc2626)}.autosave-spin{animation:autosave-spin 1s linear infinite}@media (prefers-reduced-motion:reduce){.autosave-spin{animation:none}}@keyframes autosave-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}[role=dialog][aria-modal=true]{z-index:9800!important}[role=dialog][aria-modal=true]:not([data-panel]){background-color:rgba(0,0,0,.55)!important;backdrop-filter:blur(2px)}[role=dialog][aria-modal=true]:not([data-panel])>div:first-child,[role=dialog][aria-modal=true]:not([data-panel])>div:first-of-type{background-color:#ffffff!important}.absolute.z-20:not([role=dialog]),.absolute.z-30:not([role=dialog]),.absolute.z-40:not([role=dialog]),.absolute.z-50:not([role=dialog]){background-color:#ffffff;box-shadow:0 12px 32px -8px rgba(0,0,0,.18),0 2px 4px -2px rgba(0,0,0,.08)}.tooltip-content{background:var(--ink,#1f2937);color:var(--ink-on-strong,#fff);padding:6px 10px;border-radius:6px;font-size:12px;line-height:1.4;max-width:320px;box-shadow:0 6px 16px -4px rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.06);z-index:9700;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:tooltip-in .1s ease-out}@media (prefers-reduced-motion:reduce){.tooltip-content{animation:none}}@keyframes tooltip-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.tooltip-arrow{fill:var(--ink,#1f2937)}.popover-content{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px -8px rgba(0,0,0,.18),0 2px 4px -2px rgba(0,0,0,.06);padding:4px;z-index:9300;outline:none;animation:popover-in .11s ease-out}@media (prefers-reduced-motion:reduce){.popover-content{animation:none}}@keyframes popover-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.command-root{display:flex;flex-direction:column;background:transparent;width:100%;min-width:240px}.command-input-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line)}.command-input-icon{color:var(--ink-4);flex-shrink:0}.command-input{flex:1 1 auto;background:transparent;border:none;outline:none;font-size:13px;color:var(--ink);font-family:inherit}.command-input::-moz-placeholder{color:var(--ink-4)}.command-input::placeholder{color:var(--ink-4)}.command-list{max-height:300px;overflow-y:auto;padding:4px}.command-empty{padding:16px 12px;text-align:center;font-size:12px;color:var(--ink-4)}.command-group{padding:2px 0}.command-group [cmdk-group-heading]{padding:6px 8px 4px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}.command-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;font-size:13px;color:var(--ink);cursor:default;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.command-item[data-selected=true]{background:var(--bg-soft)}.command-item[data-disabled=true]{color:var(--ink-4);cursor:not-allowed}.command-separator{height:1px;background:var(--line);margin:4px -4px}.combobox-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:6px 10px;background:var(--canvas,var(--surface));border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--ink);text-align:left;outline:none}.combobox-trigger:hover:not([disabled]),.combobox-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--ink-3) 35%,var(--line))}.combobox-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent,#2563eb) 50%,transparent);outline-offset:1px}.combobox-trigger[disabled]{background:var(--bg-soft);color:var(--ink-4);cursor:not-allowed}.combobox-trigger-label{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combobox-trigger-placeholder{color:var(--ink-4)}.combobox-trigger-icon{color:var(--ink-4);flex-shrink:0}.combobox-content{min-width:240px;max-width:480px;padding:0}.combobox-clear{font-size:12px;color:var(--ink-3);font-style:italic}.combobox-check{flex-shrink:0}.combobox-check-active{color:var(--ink-2)}.combobox-check-inactive{color:transparent}.combobox-item-text{display:flex;flex-direction:column;min-width:0}.combobox-item-desc{font-size:11px;color:var(--ink-4)}.datepicker-trigger{display:inline-flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 10px;background:var(--canvas,var(--surface));border:1px solid var(--line);border-radius:6px;font-size:13px;color:var(--ink);text-align:left;outline:none}.datepicker-trigger:hover:not([disabled]),.datepicker-trigger[aria-expanded=true]{border-color:color-mix(in srgb,var(--ink-3) 35%,var(--line))}.datepicker-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent,#2563eb) 50%,transparent);outline-offset:1px}.datepicker-trigger[disabled]{background:var(--bg-soft);color:var(--ink-4);cursor:not-allowed}.datepicker-trigger-icon{color:var(--ink-4);flex-shrink:0}.datepicker-trigger-label{flex:1 1 auto;white-space:nowrap}.datepicker-trigger-placeholder{color:var(--ink-4)}.datepicker-wrapper{position:relative;display:inline-flex;width:100%;align-items:stretch}.datepicker-wrapper .datepicker-trigger{flex:1}.datepicker-wrapper.has-clear .datepicker-trigger{padding-right:28px}.datepicker-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;border-radius:3px;color:var(--ink-4);cursor:pointer;z-index:1}.datepicker-clear:hover{background:var(--bg-soft);color:var(--ink-2)}.datepicker-content{padding:8px;min-width:280px}.form{gap:16px}.form,.form-item{display:flex;flex-direction:column}.form-item{gap:4px}.form-label{font-size:12px;font-weight:500;color:var(--ink-2)}.form-label-error{color:var(--red-7,#dc2626)}.form-description{font-size:11.5px;color:var(--ink-4)}.form-message{font-size:11.5px;color:var(--red-7,#dc2626)}.skeleton{display:block;border-radius:4px;background:linear-gradient(90deg,var(--bg-soft) 25%,color-mix(in srgb,var(--bg-soft) 60%,var(--surface)) 50%,var(--bg-soft) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--bg-soft)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner-wrap{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3)}.spinner-icon{animation:spinner-spin .9s linear infinite}@media (prefers-reduced-motion:reduce){.spinner-icon{animation:none}}@keyframes spinner-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.spinner-label{font-size:12px}.btn-spinner{animation:btn-spin .9s linear infinite;flex-shrink:0}@media (prefers-reduced-motion:reduce){.btn-spinner{animation:none}}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}button[aria-busy=true]{cursor:progress}.nav-progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:10000;pointer-events:none}.nav-progress-bar{height:100%;background:linear-gradient(to right,var(--accent,#2563eb),color-mix(in srgb,var(--accent,#2563eb) 60%,#8b5cf6));box-shadow:0 0 8px color-mix(in srgb,var(--accent,#2563eb) 40%,transparent);transition:width .2s ease-out}