.app-shell{background:var(--background);grid-template-columns:16rem 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar,#f6f6fa);border-right:1px solid var(--border);flex-direction:column;align-self:start;gap:.25rem;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0}@supports (color:lab(0% 0 0)){.sidebar{background:var(--sidebar,lab(97.0568% .490934 -1.8206))}}.sidebar-brand{letter-spacing:-.02em;color:var(--foreground);align-items:center;gap:.6rem;padding:.5rem .6rem 1rem;font-size:16px;font-weight:600;display:flex}.sidebar-group{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);opacity:.7;margin-top:.75rem;padding:0 .6rem;font-size:11px}.sidebar-link{border-radius:var(--radius-md);color:var(--muted-foreground);align-items:center;gap:.6rem;padding:.55rem .6rem;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-link:hover,.sidebar-link.active{background:var(--accent);color:var(--foreground)}.sidebar-link .ico{color:currentColor;flex:0 0 16px;width:16px;height:16px}.sidebar-link .badge{font-family:var(--font-mono);color:var(--muted-foreground);margin-left:auto;font-size:11px}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:.75rem}.user-chip{align-items:center;gap:.55rem;padding:.5rem .6rem;display:flex}.user-avatar{background:color-mix(in oklch, var(--brand) 16%, transparent);width:28px;height:28px;color:var(--brand);border-radius:999px;flex:0 0 28px;place-items:center;font-size:12px;font-weight:600;display:grid}.user-chip .meta{min-width:0}.user-chip .meta .nm{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.user-chip .meta .em{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.signout{border-radius:var(--radius-md);width:100%;color:var(--muted-foreground);text-align:left;cursor:pointer;background:0 0;border:none;margin-top:.4rem;padding:.45rem .6rem;font-size:13px;transition:background .15s,color .15s}.signout:hover{background:var(--accent);color:var(--foreground)}.app-main{flex-direction:column;min-width:0;display:flex}.app-topbar{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in oklch, var(--background) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:.75rem;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.app-topbar .crumb{color:var(--foreground);font-size:14px;font-weight:500}.app-topbar .crumb .sep{color:var(--muted-foreground);margin:0 .4rem}.app-topbar .spacer{flex:1}.app-content{flex:1;width:100%;max-width:64rem;margin-inline:auto;padding:2rem 1.5rem 3rem}.page-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.page-head h1{letter-spacing:-.02em;font-size:1.6rem;font-weight:500}.page-head p{color:var(--muted-foreground);margin-top:.35rem;font-size:14px}.card{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--ring-1);padding:1.5rem}.card+.card{margin-top:1.25rem}.card h2{letter-spacing:-.01em;font-size:1.05rem;font-weight:500}.card .sub{color:var(--muted-foreground);margin-top:.25rem;font-size:13px}.btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);height:36px;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:0 .85rem;font-size:14px;font-weight:500;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:hover{background:var(--muted)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;pointer-events:none}.btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.btn.primary:hover{background:color-mix(in oklch, var(--primary) 88%, white)}.btn.brand{background:var(--brand);color:var(--brand-foreground);border-color:var(--brand)}.btn.brand:hover{background:color-mix(in oklch, var(--brand) 90%, white)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--accent)}.field{gap:.4rem;margin-bottom:1rem;display:grid}.field label{color:var(--foreground);font-size:13px;font-weight:500}.field input,.field textarea,.field select{border:1px solid var(--input);border-radius:var(--radius-md);width:100%;color:var(--foreground);background:var(--card);padding:.55rem .7rem;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:96px;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 30%, transparent);outline:none}.field .hint{color:var(--muted-foreground);font-size:12px}.form-error{color:var(--destructive);margin-bottom:.75rem;font-size:13px}.pill{border-radius:999px;align-items:center;gap:.3rem;height:22px;padding:0 .55rem;font-size:12px;font-weight:500;display:inline-flex}.pill.ok{background:color-mix(in oklch, var(--emerald) 12%, transparent);color:var(--emerald)}.pill.blocked{background:color-mix(in oklch, var(--amber,#e29e47) 16%, transparent);color:#9e6200;color:lab(47.4747% 21.8849 64.6543)}@supports (color:lab(0% 0 0)){.pill.blocked{background:color-mix(in oklch, var(--amber,lab(70.7762% 20.2055 54.3855)) 16%, transparent)}}.pill.error,.pill.fail{background:color-mix(in oklch, var(--destructive) 10%, transparent);color:var(--destructive)}.pill.brand{background:color-mix(in oklch, var(--brand) 12%, transparent);color:var(--brand)}.pill:before{content:"";background:currentColor;border-radius:999px;width:5px;height:5px}.runs-table{border-collapse:collapse;width:100%;font-size:14px}.runs-table thead th{text-align:left;color:var(--muted-foreground);border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem .75rem;font-size:12px;font-weight:500}.runs-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.7rem .75rem}.runs-table tbody tr{cursor:pointer;transition:background .12s}.runs-table tbody tr:hover{background:var(--muted)}.runs-table tbody tr:last-child td{border-bottom:0}.runs-table .task-cell{white-space:nowrap;text-overflow:ellipsis;max-width:22rem;color:var(--foreground);overflow:hidden}.runs-table .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius-lg);min-height:12rem;color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.empty .et{color:var(--foreground);font-size:14px;font-weight:500}.empty .ed{max-width:22rem;font-size:13px}.console{border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--ring-1);margin-top:1.25rem;overflow:hidden}.console-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:13px;font-weight:500;display:flex}.timeline{gap:0;display:grid}.tl-row{border-bottom:1px solid var(--border);grid-template-columns:3.5rem auto 1fr auto;align-items:baseline;gap:.75rem;padding:.55rem 1rem;font-size:13px;display:grid}.tl-row:last-child{border-bottom:0}.tl-row .t{font-family:var(--font-mono);color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:11px}.tl-row .kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;background:var(--muted);color:var(--muted-foreground);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:11px}.tl-row .kind.tool{color:var(--brand);background:color-mix(in oklch, var(--brand) 10%, transparent)}.tl-row .kind.policy{color:var(--emerald);background:color-mix(in oklch, var(--emerald) 10%, transparent)}.tl-row .kind.policy.deny{color:var(--destructive);background:color-mix(in oklch, var(--destructive) 10%, transparent)}.tl-row .detail{font-family:var(--font-mono);color:var(--foreground);word-break:break-word;font-size:12px}.tl-row .detail mark{background:color-mix(in oklch, var(--brand) 16%, transparent);color:var(--brand);border-radius:3px;padding:0 2px}.tl-row .dest{font-family:var(--font-mono);color:var(--muted-foreground);white-space:nowrap;font-size:11px}.packet-grid{gap:1.25rem;display:grid}.packet-section h3{font-size:13px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--brand);margin-bottom:.75rem}.kv{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem 1.5rem;display:grid}.kv .k{color:var(--muted-foreground);font-size:12px}.kv .v{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.boundary-list,.control-list{gap:.5rem;display:grid}.boundary-row,.control-row{border-radius:var(--radius-md);background:var(--muted);align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:13px;display:flex}.boundary-row .label,.control-row .name{font-family:var(--font-mono);color:var(--foreground);font-size:12px}.boundary-row .hash{font-family:var(--font-mono);color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;max-width:14rem;margin-left:auto;font-size:11px;overflow:hidden}.control-row .maps{color:var(--muted-foreground);margin-left:auto;font-size:11px}.verify-banner{border-radius:var(--radius-md);align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:14px;font-weight:500;display:flex}.verify-banner.valid{background:color-mix(in oklch, var(--emerald) 10%, transparent);color:var(--emerald)}.verify-banner.invalid{background:color-mix(in oklch, var(--destructive) 8%, transparent);color:var(--destructive)}.hash-mono{font-family:var(--font-mono);word-break:break-all;color:var(--muted-foreground);font-size:12px}.statrow{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.statrow .stat{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--ring-1);padding:1rem 1.1rem}.statrow .stat .n{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.statrow .stat .l{color:var(--muted-foreground);margin-top:.2rem;font-size:12px}.auth-shell{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:3rem 1.5rem;display:flex}.auth-card{width:100%;max-width:24rem}.auth-card .auth-brand{letter-spacing:-.02em;justify-content:center;align-items:center;gap:.55rem;margin-bottom:1.5rem;font-size:16px;font-weight:600;display:flex}.auth-card .panel{background:var(--card);border-radius:var(--radius-xl);box-shadow:var(--ring-1), var(--shadow-md);padding:2rem}.auth-card h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:500}.auth-card .panel>p{color:var(--muted-foreground);margin-top:.4rem;margin-bottom:1.5rem;font-size:14px}.auth-card .btn{width:100%;height:40px}.auth-foot{text-align:center;color:var(--muted-foreground);margin-top:1.25rem;font-size:14px}.auth-foot a{color:var(--brand);font-weight:500}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap;align-items:center;gap:.25rem .5rem;height:auto;position:static}.sidebar-brand{width:100%;padding:.25rem .5rem}.sidebar-group{display:none}.sidebar-link{padding:.4rem .6rem}.sidebar-footer{border-top:0;margin:0 0 0 auto;padding-top:0}.signout{width:auto;margin:0}.user-chip .meta{display:none}.app-content{padding:1.5rem 1rem 2.5rem}.tl-row{grid-template-columns:auto 1fr;gap:.4rem}.tl-row .t,.tl-row .dest{display:none}}
