:root{--radius:.625rem;--background:oklch(1 0 0);--foreground:oklch(.145 0 0);--card:oklch(1 0 0);--card-foreground:oklch(.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(.145 0 0);--primary:oklch(.205 0 0);--primary-foreground:oklch(.985 0 0);--secondary:oklch(.97 0 0);--secondary-foreground:oklch(.205 0 0);--muted:oklch(.97 0 0);--muted-foreground:oklch(.556 0 0);--accent:oklch(.97 0 0);--accent-foreground:oklch(.205 0 0);--destructive:oklch(.577 .245 27.325);--border:oklch(.922 0 0);--input:oklch(.922 0 0);--ring:oklch(.708 0 0);--chart-1:oklch(.87 0 0);--chart-2:oklch(.556 0 0);--chart-3:oklch(.439 0 0);--chart-4:oklch(.371 0 0);--chart-5:oklch(.269 0 0);--sidebar:oklch(.985 0 0);--sidebar-foreground:oklch(.145 0 0);--sidebar-primary:oklch(.205 0 0);--sidebar-primary-foreground:oklch(.985 0 0);--sidebar-accent:oklch(.97 0 0);--sidebar-accent-foreground:oklch(.205 0 0);--sidebar-border:oklch(.922 0 0);--success:oklch(.627 .17 149.2);--warning:oklch(.666 .157 58.3);--sidebar-w:17rem;--sidebar-w-icon:3rem;--header-h:3rem;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}html.dark{--background:oklch(.145 0 0);--foreground:oklch(.985 0 0);--card:oklch(.205 0 0);--card-foreground:oklch(.985 0 0);--popover:oklch(.205 0 0);--popover-foreground:oklch(.985 0 0);--primary:oklch(.922 0 0);--primary-foreground:oklch(.205 0 0);--secondary:oklch(.269 0 0);--secondary-foreground:oklch(.985 0 0);--muted:oklch(.269 0 0);--muted-foreground:oklch(.708 0 0);--accent:oklch(.269 0 0);--accent-foreground:oklch(.985 0 0);--destructive:oklch(.704 .191 22.216);--border:oklch(1 0 0 / 10%);--input:oklch(1 0 0 / 15%);--ring:oklch(.556 0 0);--sidebar:oklch(.205 0 0);--sidebar-foreground:oklch(.985 0 0);--sidebar-accent:oklch(.269 0 0);--sidebar-accent-foreground:oklch(.985 0 0);--sidebar-border:oklch(1 0 0 / 10%);--success:oklch(.72 .17 149.2);--warning:oklch(.75 .15 58.3)}*{box-sizing:border-box;border-color:var(--border)}html,body{margin:0;height:100%}body{font-family:var(--font-sans);background:var(--background);color:var(--foreground);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input{font:inherit}svg.i{width:1rem;height:1rem;flex:none}.hidden{display:none!important}.shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border);transition:width .2s ease,transform .2s ease;overflow:hidden}.sb-head{padding:.5rem}.sb-brand{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border-radius:calc(var(--radius) - 2px)}.sb-brand:hover{background:var(--sidebar-accent)}.sb-brand .logo{display:flex;align-items:center;justify-content:center;flex:none}.sb-brand strong{font-size:1rem;font-weight:600;white-space:nowrap}.sb-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 .5rem;scrollbar-width:thin}.sb-group{padding:.5rem 0}.sb-label{padding:0 .5rem;margin-bottom:.25rem;font-size:.75rem;font-weight:500;color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent);white-space:nowrap;height:1.25rem;display:flex;align-items:center;transition:opacity .15s}.sb-item{display:flex;align-items:center;gap:.5rem;width:100%;height:2rem;padding:0 .5rem;border-radius:calc(var(--radius) - 2px);color:var(--sidebar-foreground);font-size:.875rem;text-align:left;white-space:nowrap}.sb-item:hover{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sb-item.active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:500}.sb-item .lbl{overflow:hidden;text-overflow:ellipsis}.sb-foot{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--sidebar-border)}.support{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);padding:.75rem 1rem;overflow:hidden}.support h4{margin:0 0 .25rem;font-size:.875rem;font-weight:600;white-space:nowrap}.support p{margin:0;font-size:.75rem;color:var(--muted-foreground)}.support a{color:var(--foreground);text-decoration:underline;cursor:pointer}.sb-user{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border-radius:calc(var(--radius) - 2px);text-align:left}.sb-user:hover{background:var(--sidebar-accent)}.avatar{width:2rem;height:2rem;flex:none;border-radius:calc(var(--radius) - 2px);background:var(--muted);color:var(--muted-foreground);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;letter-spacing:.02em}.sb-user .who{flex:1;min-width:0;display:grid;gap:.1rem}.sb-user .who b{font-weight:500;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sb-user .who span{font-size:.75rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell.sb-collapsed .sidebar{width:var(--sidebar-w-icon)}.shell.sb-collapsed .sb-brand strong,.shell.sb-collapsed .sb-item .lbl,.shell.sb-collapsed .sb-label,.shell.sb-collapsed .support,.shell.sb-collapsed .sb-user .who,.shell.sb-collapsed .sb-user .more{display:none}.shell.sb-collapsed .sb-item{justify-content:center;padding:0}.shell.sb-collapsed .sb-brand,.shell.sb-collapsed .sb-user{justify-content:center;padding:.375rem 0}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--header-h);flex:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 1rem;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--background) 55%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar .lft,.topbar .rgt{display:flex;align-items:center;gap:.5rem}.icon-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:calc(var(--radius) - 2px);color:var(--foreground)}.icon-btn:hover{background:var(--accent)}.vsep{width:1px;height:1rem;background:var(--border);margin:0 .5rem}.searchbtn{display:flex;align-items:center;gap:.5rem;color:var(--muted-foreground);font-size:.875rem;padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px)}.searchbtn:hover{background:var(--accent)}.searchbtn kbd{font-family:inherit;font-size:.6875rem;color:var(--muted-foreground);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;background:var(--muted)}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:flex;align-items:center;gap:.375rem;height:2rem;padding:0 1.75rem 0 .75rem;font-size:.8125rem;border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);background:var(--background) no-repeat right .5rem center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");color:var(--foreground);cursor:pointer}.content{flex:1;overflow-y:auto;padding:1.5rem}.page{max-width:96rem;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.page-title{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.page-sub{margin:.15rem 0 0;color:var(--muted-foreground);font-size:.875rem}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column}.card-h{padding:1.25rem 1.25rem 0;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.card-h .tt{display:grid;gap:.25rem}.card-h h3{margin:0;font-size:.9375rem;font-weight:600;line-height:1.2}.card-h p{margin:0;color:var(--muted-foreground);font-size:.8125rem}.card-b{padding:1.25rem}.card-acts{display:flex;align-items:center;gap:.5rem}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.metric{background:linear-gradient(to top,color-mix(in oklab,var(--primary) 5%,transparent),var(--card));border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.metric .tile{width:1.75rem;height:1.75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);display:flex;align-items:center;justify-content:center}.metric .lbl{color:var(--muted-foreground);font-size:.8125rem}.metric .row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.metric .val{font-size:1.75rem;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.metric .hint{color:var(--muted-foreground);font-size:.8125rem}.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:calc(var(--radius) - 4px);padding:.125rem .45rem;font-size:.75rem;font-weight:500;line-height:1.3;white-space:nowrap;background:var(--primary);color:var(--primary-foreground)}.badge svg{width:.75rem;height:.75rem}.badge.destructive{background:var(--destructive);color:#fafafa}.badge.outline{background:transparent;color:var(--muted-foreground);border:1px solid var(--border);padding:.1rem .375rem}.badge.outline svg{width:.875rem;height:.875rem}.b-ok{color:var(--success)}.b-warn{color:var(--warning)}.btn{display:inline-flex;align-items:center;gap:.375rem;height:2rem;padding:0 .75rem;font-size:.8125rem;font-weight:500;border-radius:calc(var(--radius) - 2px);white-space:nowrap}.btn.outline{border:1px solid var(--input);background:var(--background)}.btn.outline:hover{background:var(--accent)}.btn.primary{background:var(--primary);color:var(--primary-foreground)}.btn.primary:hover{opacity:.9}.btn.ghost:hover{background:var(--accent)}.btn.sm{height:1.75rem;padding:0 .625rem;font-size:.78rem}.btn:disabled{opacity:.5;cursor:default}.tbl{width:100%;border-collapse:collapse;font-size:.875rem}.tbl th{text-align:left;font-weight:500;color:var(--muted-foreground);font-size:.8125rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:.625rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:color-mix(in oklab,var(--muted) 50%,transparent)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.cust{display:flex;align-items:center;gap:.5rem;min-width:0}.cust .sq{width:2rem;height:2rem;flex:none;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground);display:flex;align-items:center;justify-content:center}.cust .nm{display:grid;gap:.15rem;min-width:0}.cust .nm b{font-weight:500;font-size:.875rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cust .nm span{color:var(--muted-foreground);font-size:.75rem;line-height:1}.chk{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.tbl-foot{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;color:var(--muted-foreground);font-size:.8125rem;flex-wrap:wrap;gap:.5rem}.pager{display:flex;gap:.375rem}.chart-wrap{width:100%}.chart-wrap svg{display:block;width:100%;height:auto}.legend{display:flex;gap:1rem;justify-content:flex-end;margin-bottom:.75rem;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--muted-foreground)}.legend i{width:.625rem;height:.625rem;border-radius:2px;display:inline-block}.prog{height:.375rem;border-radius:999px;background:var(--muted);overflow:hidden;min-width:6rem}.prog i{display:block;height:100%;border-radius:999px;background:var(--chart-2)}.chips{display:flex;gap:.375rem;flex-wrap:wrap}.chip{height:1.75rem;padding:0 .75rem;font-size:.78rem;border-radius:999px;border:1px solid var(--input);background:var(--background);color:var(--muted-foreground)}.chip:hover{background:var(--accent)}.chip.on{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.input{display:flex;align-items:center;gap:.5rem;height:2rem;padding:0 .625rem;border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);background:var(--background);color:var(--foreground)}.input svg{color:var(--muted-foreground)}.input input{border:none;outline:none;background:transparent;color:inherit;font-size:.875rem;width:100%}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.kcol{background:color-mix(in oklab,var(--muted) 60%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;display:flex;flex-direction:column;gap:.625rem;min-height:14rem}.kcol.drag-over{outline:2px dashed var(--ring);outline-offset:-4px}.kcol-h{display:flex;align-items:center;justify-content:space-between;padding:0 .25rem}.kcol-h b{font-size:.8125rem;font-weight:600}.kcount{font-size:.6875rem;color:var(--muted-foreground);background:var(--background);border:1px solid var(--border);border-radius:999px;padding:.05rem .45rem}.kcard{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:.75rem;display:grid;gap:.5rem;cursor:grab;box-shadow:0 1px 2px #0000000d}.kcard.dragging{opacity:.5}.kcard b{font-size:.8375rem;font-weight:500;line-height:1.3}.kcard .meta{display:flex;align-items:center;justify-content:space-between}.kcard .meta .avatar{width:1.5rem;height:1.5rem;font-size:.625rem;border-radius:999px}.kcard .meta time{font-size:.75rem;color:var(--muted-foreground)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--border);border-top:1px solid var(--border)}.cal-grid .dow{padding:.5rem;font-size:.75rem;font-weight:500;color:var(--muted-foreground);border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}.cal-cell{min-height:5.5rem;padding:.375rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.78rem;display:flex;flex-direction:column;gap:.25rem}.cal-cell .d{color:var(--muted-foreground);font-variant-numeric:tabular-nums}.cal-cell.out .d{opacity:.4}.cal-cell.today .d{width:1.5rem;height:1.5rem;border-radius:999px;background:var(--primary);color:var(--primary-foreground);display:flex;align-items:center;justify-content:center}.evt{font-size:.6875rem;padding:.15rem .375rem;border-radius:4px;background:color-mix(in oklab,var(--chart-2) 18%,transparent);border-left:2px solid var(--chart-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.evt.alt{background:color-mix(in oklab,var(--chart-1) 30%,transparent);border-left-color:var(--chart-4)}.pop{position:fixed;z-index:60;min-width:14rem;background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;padding:.25rem}.pi{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .5rem;border-radius:calc(var(--radius) - 4px);font-size:.875rem;text-align:left}.pi:hover{background:var(--accent)}.pop hr{border:none;border-top:1px solid var(--border);margin:.25rem 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50}.dialog{position:fixed;z-index:60;top:20%;left:50%;transform:translate(-50%);width:min(32rem,calc(100vw - 2rem));background:var(--popover);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 48px #0003;overflow:hidden}.dialog .dh{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.dialog .dh input{flex:1;border:none;outline:none;background:transparent;color:inherit;font-size:.9375rem}.dialog .dl{max-height:18rem;overflow-y:auto;padding:.375rem}.dialog .gl{font-size:.6875rem;font-weight:500;color:var(--muted-foreground);padding:.375rem .5rem .125rem}.toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:70;background:var(--primary);color:var(--primary-foreground);padding:.5rem .875rem;border-radius:calc(var(--radius) - 2px);font-size:.8125rem;box-shadow:0 8px 24px #0000002e;opacity:0;transition:opacity .2s,translate .2s;pointer-events:none}.toast.show{opacity:1}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.kanban{grid-template-columns:1fr}}@media (max-width:768px){.sidebar{position:fixed;inset:0 auto 0 0;z-index:55;transform:translate(-100%);width:var(--sidebar-w)!important}.shell.sb-mobile-open .sidebar{transform:translate(0)}.shell.sb-collapsed .sb-brand strong,.shell.sb-collapsed .sb-item .lbl,.shell.sb-collapsed .sb-label,.shell.sb-collapsed .support,.shell.sb-collapsed .sb-user .who,.shell.sb-collapsed .sb-user .more{display:initial}.shell.sb-collapsed .sb-item{justify-content:flex-start;padding:0 .5rem}.metric-grid{grid-template-columns:1fr}.content{padding:1rem}.hide-sm{display:none}}:root{--background:#faf9f5;--foreground:#4a413d;--card:#fffefb;--card-foreground:#4a413d;--popover:#fffefb;--popover-foreground:#4a413d;--primary:#d97758;--primary-strong:#c4664a;--primary-foreground:#fffaf6;--secondary:#f3efe8;--secondary-foreground:#4a413d;--muted:#f3efe8;--muted-foreground:#7d726c;--accent:#f1ebe3;--accent-foreground:#3b332f;--notice:#fef4e7;--destructive:#c0463a;--border:#e8e1d8;--input:#e2dad0;--ring:#d97758;--chart-1:#d97758;--chart-2:#7d726c;--chart-3:#a89c93;--chart-4:#c9bdb2;--chart-5:#5a4f49;--chart-6:#e8b9a6;--chart-7:#ded5cc;--sidebar:#f5f2ec;--sidebar-foreground:#4a413d;--sidebar-accent:#ece5dc;--sidebar-accent-foreground:#3b332f;--sidebar-border:#e8e1d8;--success:#3f8f5b;--warning:#b7791f;--font-sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",ui-sans-serif,system-ui,sans-serif}html.dark{--background:#1c1917;--foreground:#ece6e0;--card:#25211e;--card-foreground:#ece6e0;--popover:#2a2522;--popover-foreground:#ece6e0;--primary:#e0876a;--primary-strong:#d97758;--primary-foreground:#1c1917;--secondary:#302a26;--secondary-foreground:#ece6e0;--muted:#302a26;--muted-foreground:#a99e96;--accent:#342d29;--accent-foreground:#f5efe9;--notice:#3a2a20;--destructive:#e0705f;--border:rgb(255 245 235 / 10%);--input:rgb(255 245 235 / 16%);--ring:#e0876a;--chart-1:#e0876a;--chart-2:#a99e96;--chart-3:#7f746d;--chart-4:#5f5550;--chart-5:#cfc4bb;--chart-6:#9c5a44;--chart-7:#433b36;--sidebar:#211d1a;--sidebar-foreground:#ece6e0;--sidebar-accent:#302a26;--sidebar-accent-foreground:#f5efe9;--sidebar-border:rgb(255 245 235 / 9%);--success:#6cc38a;--warning:#e0a94a}html.dark .metric{background:var(--card)}.metric{background:linear-gradient(to top,color-mix(in oklab,var(--primary) 6%,transparent),var(--card))}.brand-mark{width:1.75rem;height:1.75rem;border-radius:.5rem;background:var(--primary);color:var(--primary-foreground)}.sb-count{margin-left:auto;font-size:.6875rem;font-weight:600;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--primary);color:var(--primary-foreground);display:none;align-items:center;justify-content:center}.sb-count.show{display:inline-flex}.shell.sb-collapsed .sb-count{display:none}.asof{font-size:.78rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap}.login-pill{display:inline-flex;align-items:center;gap:.4rem;height:1.875rem;padding:0 .7rem;border-radius:999px;border:1px solid var(--input);font-size:.78rem;background:var(--background);white-space:nowrap}.login-pill:hover{background:var(--accent)}.login-pill .led{width:.5rem;height:.5rem;border-radius:999px;background:var(--success)}.login-pill.bad{border-color:color-mix(in oklab,var(--destructive) 45%,transparent);color:var(--destructive)}.login-pill.bad .led{background:var(--destructive)}.qr-pop{width:17rem;padding:1rem}.qr-pop h4{margin:0 0 .25rem;font-size:.9rem}.qr-pop p{margin:0 0 .75rem;font-size:.78rem;color:var(--muted-foreground)}.qr-box{width:11rem;height:11rem;margin:0 auto .75rem;border:1px dashed var(--input);border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--muted-foreground);font-size:.75rem;background:var(--muted)}.seg{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);padding:2px;background:var(--background);gap:2px}.seg button{height:1.625rem;padding:0 .6rem;font-size:.78rem;border-radius:calc(var(--radius) - 4px);color:var(--muted-foreground);white-space:nowrap}.seg button.on{background:var(--primary);color:var(--primary-foreground)}.card-acts.wrap{flex-wrap:wrap}.status-strip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8125rem;color:var(--muted-foreground)}.status-strip.bad{padding:.625rem .875rem;border-radius:var(--radius);background:var(--notice);color:var(--foreground);border:1px solid color-mix(in oklab,var(--primary) 30%,transparent)}.status-strip b{font-weight:500;color:var(--foreground)}.ov-split{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(18rem,1fr);gap:1.5rem;align-items:stretch}.feed-card .card-b{padding-top:.75rem}.feed{display:flex;flex-direction:column;gap:.125rem;max-height:23rem;overflow-y:auto}.feed-item{display:grid;gap:.2rem;padding:.625rem .5rem;border-radius:calc(var(--radius) - 2px);text-align:left;width:100%}.feed-item:hover{background:var(--accent)}.feed-item .top{display:flex;align-items:center;gap:.4rem;font-size:.8125rem}.feed-item .top b{font-weight:500}.feed-item .top time{margin-left:auto;color:var(--muted-foreground);font-size:.75rem;font-variant-numeric:tabular-nums}.feed-item p{margin:0;font-size:.8125rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feed-item .art{font-size:.72rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pend-tag{font-size:.6875rem;padding:0 .4rem;border-radius:999px;background:var(--notice);color:var(--primary-strong);border:1px solid color-mix(in oklab,var(--primary) 35%,transparent);line-height:1.4}html.dark .pend-tag{color:var(--primary)}.tbl-scroll{overflow-x:auto}.tbl th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tbl th.sortable:hover{color:var(--foreground)}.tbl th.num,.tbl td.num{text-align:right}.tbl .ttl{max-width:26rem;min-width:14rem}.tbl .ttl button{text-align:left;font-weight:500;line-height:1.4}.tbl .ttl button:hover{color:var(--primary-strong);text-decoration:underline;text-underline-offset:3px}html.dark .tbl .ttl button:hover{color:var(--primary)}.tbl .ttl span{display:block;font-size:.72rem;color:var(--muted-foreground);margin-top:.1rem}.dash{color:var(--muted-foreground)}.hi{color:var(--primary-strong);font-weight:600}html.dark .hi{color:var(--primary)}.back{margin:0 0 .5rem -.5rem}.ad-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:1.5rem}.bars{display:grid;gap:.6rem}.bar-row{display:grid;grid-template-columns:5.5rem 1fr 3.25rem;align-items:center;gap:.625rem;font-size:.8125rem}.bar-row .track{height:.625rem;border-radius:999px;overflow:hidden}.bar-row .track i{display:block;height:100%;border-radius:999px;background:var(--chart-2)}.bar-row.lead .track i{background:var(--primary)}.bar-row .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.funnel .step{padding:1rem;border-radius:calc(var(--radius) - 2px);background:var(--muted);display:grid;gap:.25rem}.funnel .step span{font-size:.78rem;color:var(--muted-foreground)}.funnel .step b{font-size:1.375rem;font-weight:500;font-variant-numeric:tabular-nums}.empty{padding:2rem 1rem;text-align:center;color:var(--muted-foreground);font-size:.8125rem}.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.insight{padding:1rem 1.125rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);display:grid;gap:.4rem}.insight.lead{grid-column:span 2;background:linear-gradient(to right,var(--notice),var(--card));border-color:color-mix(in oklab,var(--primary) 28%,var(--border))}.insight .tag{font-size:.72rem;color:var(--muted-foreground)}.insight p{margin:0;font-size:.875rem;line-height:1.6}.tbl tr.low td{color:var(--muted-foreground)}.cm-list{display:flex;flex-direction:column;gap:1.5rem}.cm-art .card-h h3{line-height:1.4}.thread{padding:1rem 0;border-top:1px solid var(--border)}.thread:first-child{border-top:none;padding-top:.25rem}.msg{display:grid;grid-template-columns:2rem 1fr;gap:.625rem}.msg .avatar{width:2rem;height:2rem;border-radius:999px;font-size:.72rem}.msg.author .avatar{background:var(--primary);color:var(--primary-foreground)}.msg .hd{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.8125rem}.msg .hd b{font-weight:500}.msg .hd .meta{color:var(--muted-foreground);font-size:.75rem;font-variant-numeric:tabular-nums}.msg .txt{margin:.25rem 0 .375rem;font-size:.875rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}.msg .to{color:var(--muted-foreground);font-size:.75rem}.replies{margin:.5rem 0 0 2.625rem;padding-left:.875rem;border-left:2px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.link-btn{font-size:.78rem;color:var(--primary-strong);font-weight:500}html.dark .link-btn{color:var(--primary)}.link-btn:hover{text-decoration:underline;text-underline-offset:3px}.composer{margin:.625rem 0 0 2.625rem;display:grid;gap:.5rem}.composer label{font-size:.75rem;color:var(--muted-foreground)}.composer textarea{font:inherit;font-size:.875rem;line-height:1.6;min-height:6rem;padding:.625rem .75rem;border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);background:var(--background);color:var(--foreground);resize:vertical}.composer textarea:focus{outline:2px solid color-mix(in oklab,var(--ring) 55%,transparent);outline-offset:1px}.composer .row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.composer .count{font-size:.72rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.notice{padding:.75rem 1rem;border-radius:var(--radius);font-size:.8125rem;display:flex;gap:.5rem;align-items:flex-start}.notice.ok{background:color-mix(in oklab,var(--success) 12%,var(--card));border:1px solid color-mix(in oklab,var(--success) 35%,transparent)}.notice.err{background:color-mix(in oklab,var(--destructive) 10%,var(--card));border:1px solid color-mix(in oklab,var(--destructive) 35%,transparent)}.confirm{top:14%;width:min(34rem,calc(100vw - 2rem))}.confirm .bd{padding:1.25rem;display:grid;gap:.75rem}.confirm h4{margin:0;font-size:1rem;font-weight:600}.confirm .lbl{font-size:.75rem;color:var(--muted-foreground)}.confirm blockquote{margin:0;padding:.625rem .75rem;border-left:3px solid var(--border);background:var(--muted);border-radius:0 6px 6px 0;font-size:.8125rem;line-height:1.6;white-space:pre-wrap}.confirm .out{padding:.75rem;border:1px solid color-mix(in oklab,var(--primary) 35%,var(--border));background:var(--notice);border-radius:calc(var(--radius) - 2px);font-size:.875rem;line-height:1.65;white-space:pre-wrap}.confirm .ft{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.btn:active{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.sidebar,.toast{transition:none}}@media (max-width:1100px){.ov-split,.ad-split{grid-template-columns:1fr}}@media (max-width:768px){.shell{flex-direction:column}.sidebar{position:fixed;inset:auto 0 0 0;transform:none;width:100%!important;height:3.75rem;z-index:40;flex-direction:row;border-right:none;border-top:1px solid var(--sidebar-border);background:var(--sidebar)}.sb-head,.sb-foot,.sb-label{display:none}.sb-content{display:flex;flex:1;padding:0;overflow:visible}.sb-group{display:contents}.sb-item{flex:1;flex-direction:column;justify-content:center;height:100%;gap:.15rem;font-size:.6875rem;border-radius:0;padding:0;position:relative}.sb-item .lbl{overflow:visible}.sb-item.active{background:transparent;color:var(--primary-strong)}html.dark .sb-item.active{color:var(--primary)}.sb-count{position:absolute;top:.35rem;left:calc(50% + .35rem);margin:0;height:1rem;min-width:1rem;font-size:.6rem}.content{padding:1rem 1rem 5rem}.insight-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.metric{padding:.875rem;gap:.5rem}.metric .tile{display:none}.metric .val{font-size:1.375rem}.metric .row{gap:.35rem}.metric .hint{font-size:.72rem}.card-acts.wrap{width:100%}.insight.lead{grid-column:auto}.funnel{grid-template-columns:1fr}.replies,.composer{margin-left:.5rem}.tbl .ttl{min-width:12rem}}.sb-brand,.sb-item,.feed-item,.btn{text-decoration:none}.sb-brand,.feed-item,.btn{color:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(24rem,100%);padding:1.75rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:1rem;box-shadow:0 8px 24px #00000014}.login-card .brand-mark{display:flex;align-items:center;justify-content:center}.login-card h1{font-size:1.25rem;margin:0}.login-card p{color:var(--muted-foreground);margin:-.75rem 0 0}.login-card label{display:grid;gap:.375rem;font-size:.8125rem}.login-card input{height:2.5rem;padding:0 .75rem;border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);background:var(--background);color:var(--foreground)}.login-card .btn{height:2.5rem;justify-content:center}.login-pop{top:3.25rem;right:3rem}.user-pop{left:.5rem;bottom:3.5rem}.qr-pop .btn+.btn{margin-left:.5rem}.qr-box img{width:100%;height:100%;object-fit:contain}.tbl .ttl a{text-align:left;font-weight:500;line-height:1.4;color:inherit;text-decoration:none}.tbl .ttl a:hover{color:var(--primary-strong);text-decoration:underline;text-underline-offset:3px}.pager{align-items:center}.comments-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.composer-actions{display:flex;gap:.5rem}@media (max-width:768px){.login-pop{right:.5rem;top:3.25rem}.user-pop{display:none}}
