:root{--bg: #f4f6fb;--surface: #ffffff;--surface-2: #f8fafc;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--muted-2: #94a3b8;--line: #e2e8f0;--line-strong: #cbd5e1;--accent: #4f46e5;--accent-2: #0ea5e9;--accent-soft: #eef2ff;--green: #16a34a;--green-soft: #ecfdf5;--amber: #d97706;--amber-soft: #fffbeb;--red: #dc2626;--red-soft: #fef2f2;--violet: #7c3aed;--violet-soft: #f5f3ff;--blue: #2563eb;--blue-soft: #eff6ff;--nav: #0b1220;--nav-2: #111c31;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 10px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 70px rgba(15, 23, 42, .18);--radius: 16px;--radius-sm: 10px;--sidebar-w: 264px;--topbar-h: 72px}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:radial-gradient(600px 300px at 20% -10%,rgba(79,70,229,.35),transparent 60%),linear-gradient(180deg,var(--nav) 0%,var(--nav-2) 100%);color:#e2e8f0;display:flex;flex-direction:column;z-index:40;border-right:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:12px;padding:22px 20px 18px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#6366f1,#0ea5e9);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.5px;box-shadow:0 10px 25px #4f46e559}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-text strong{font-size:13.5px;letter-spacing:.1px}.brand-text span{font-size:11px;color:#94a3b8;margin-top:2px}.nav{padding:10px 12px;flex:1;overflow-y:auto}.nav-group-label{padding:16px 10px 6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#64748b}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:#cbd5e1;font-size:13.5px;font-weight:500;transition:background .15s,color .15s,transform .15s;margin-bottom:2px}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:linear-gradient(90deg,#6366f147,#0ea5e91f);color:#fff;box-shadow:inset 0 0 0 1px #818cf840}.nav-icon{width:18px;height:18px;display:inline-flex;flex:none;opacity:.9}.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:20px;background:#ffffff1a;color:#e2e8f0;font-size:10.5px;display:grid;place-items:center}.nav-item.active .nav-badge{background:#ffffff2e}.sidebar-footer{padding:14px 18px 20px;border-top:1px solid rgba(255,255,255,.06)}.system-state{display:flex;align-items:center;gap:10px}.system-state strong{display:block;font-size:12px}.system-state small{display:block;color:#94a3b8;font-size:11px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.dot-green{background:#22c55e;box-shadow:0 0 0 4px #22c55e24}.version{margin-top:12px;color:#64748b;font-size:10.5px}.workspace{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);padding:0 30px;display:flex;align-items:center;gap:18px;background:#f4f6fbdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:inline-grid;place-items:center;color:var(--ink-2);transition:border-color .15s,background .15s,color .15s}.icon-btn:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--accent)}.icon-btn svg{width:18px;height:18px}.menu-btn{display:none}.search-box{flex:1;max-width:620px;height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:border-color .15s,box-shadow .15s}.search-box:focus-within{border-color:#a5b4fc;box-shadow:0 0 0 4px #6366f11a}.search-icon{display:inline-flex;color:var(--muted)}.search-icon svg{width:17px;height:17px}.search-box input{flex:1;border:0;outline:0;background:transparent;font-size:13px;min-width:0}.search-box kbd{font-size:10px;color:var(--muted);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:2px 5px;background:var(--surface-2)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px}.user-meta{display:flex;flex-direction:column;line-height:1.25}.user-meta strong{font-size:12.5px}.user-meta span{font-size:11px;color:var(--muted)}.view{padding:30px;max-width:1560px;width:100%;margin:0 auto;outline:none;animation:fade-in .22s ease both}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-size:26px;line-height:1.15;letter-spacing:-.02em;font-weight:750}.page-sub{color:var(--muted);font-size:13px;margin-top:6px}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.breadcrumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin-bottom:12px}.breadcrumbs a:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 15px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:600;transition:all .15s;white-space:nowrap}.btn:hover{border-color:var(--line-strong);background:var(--surface-2)}.btn svg{width:16px;height:16px}.btn-primary{background:linear-gradient(135deg,#4f46e5,#4338ca);border-color:transparent;color:#fff;box-shadow:0 8px 20px #4f46e547}.btn-primary:hover{filter:brightness(1.06);background:linear-gradient(135deg,#4f46e5,#4338ca)}.btn-ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{color:var(--red);border-color:#fecaca;background:var(--red-soft)}.btn-sm{height:32px;padding:0 10px;font-size:12px;border-radius:8px}.btn-sm svg{width:14px;height:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:110px;height:110px;right:-38px;top:-48px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.12),transparent 70%)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.stat-icon svg{width:19px;height:19px}.stat-label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.01em}.stat-value{font-size:25px;font-weight:750;letter-spacing:-.03em;margin-top:10px}.stat-foot{margin-top:10px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11.5px}.trend{font-weight:700;font-size:11.5px}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-main{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}.card-head{padding:16px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.card-title{font-size:14px;font-weight:700;letter-spacing:-.01em}.card-sub{color:var(--muted);font-size:11.5px;margin-top:3px}.card-body{padding:18px}.card-body.tight{padding:10px 18px 14px}.card-actions{display:flex;align-items:center;gap:8px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 12px;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}td{padding:12px;border-bottom:1px solid var(--line);font-size:12.5px;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .12s}tbody tr:hover{background:#fafbff}tr.clickable{cursor:pointer}.table-main{font-weight:650;color:var(--ink)}.table-main:hover{color:var(--accent)}.table-sub{color:var(--muted);font-size:11px;margin-top:2px}.table-code{font-family:SFMono-Regular,ui-monospace,Consolas,monospace;font-size:10.5px;color:var(--muted)}.table-actions{text-align:right;white-space:nowrap}.table-money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.table-empty{padding:34px 16px;text-align:center;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;height:23px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:700;white-space:nowrap;border:1px solid transparent}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.8}.badge-green{color:#15803d;background:var(--green-soft);border-color:#bbf7d0}.badge-amber{color:#b45309;background:var(--amber-soft);border-color:#fde68a}.badge-red{color:#b91c1c;background:var(--red-soft);border-color:#fecaca}.badge-blue{color:#1d4ed8;background:var(--blue-soft);border-color:#bfdbfe}.badge-violet{color:#6d28d9;background:var(--violet-soft);border-color:#ddd6fe}.badge-gray{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.badge-sky{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.progress{height:6px;background:#eef2f7;border-radius:99px;overflow:hidden;min-width:90px}.progress-bar{height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#0ea5e9)}.progress-bar.green{background:linear-gradient(90deg,#16a34a,#22c55e)}.progress-bar.amber{background:linear-gradient(90deg,#d97706,#f59e0b)}.progress-bar.red{background:linear-gradient(90deg,#dc2626,#ef4444)}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:5px}.funnel{display:flex;flex-direction:column;gap:11px}.funnel-row{display:grid;grid-template-columns:140px 1fr 30px;align-items:center;gap:10px}.funnel-label{font-size:11.5px;color:var(--ink-2);display:flex;align-items:center;gap:7px}.funnel-track{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden}.funnel-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#6366f1,#0ea5e9)}.funnel-count{font-size:11.5px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:0}.list-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);flex:none}.list-icon svg{width:16px;height:16px}.list-main{min-width:0;flex:1}.list-title{font-size:12.5px;font-weight:650}.list-title a:hover{color:var(--accent)}.list-meta{color:var(--muted);font-size:11px;margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}.list-right{text-align:right;flex:none}.tabs{display:flex;flex-wrap:wrap;gap:3px;padding:4px;background:#eef1f7;border-radius:12px;margin-bottom:18px}.tab{border:0;background:transparent;padding:9px 14px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.tab:hover{color:var(--ink)}.tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.timeline{position:relative;padding-left:26px}.timeline:before{content:"";position:absolute;left:8px;top:7px;bottom:7px;width:2px;background:var(--line)}.timeline-item{position:relative;padding:0 0 18px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-26px;top:3px;width:16px;height:16px;border-radius:50%;border:3px solid var(--surface);background:#cbd5e1;box-shadow:0 0 0 1px var(--line-strong)}.timeline-dot.done{background:var(--green)}.timeline-dot.in_progress{background:var(--accent);box-shadow:0 0 0 4px #6366f129}.timeline-dot.blocked{background:var(--red)}.timeline-dot.skipped{background:var(--muted-2)}.timeline-content{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.timeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.timeline-title{font-size:13px;font-weight:700}.timeline-meta{color:var(--muted);font-size:11px;margin-top:5px;display:flex;gap:12px;flex-wrap:wrap}.timeline-actions{display:flex;align-items:center;gap:8px}.kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}.kv-row{min-width:0}.kv-key{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.kv-val{font-size:13px;margin-top:3px;font-weight:550;overflow-wrap:anywhere}.kv-val.mono{font-family:ui-monospace,Consolas,monospace;font-size:11.5px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:10.5px;font-weight:600}.chip svg{width:12px;height:12px}button.chip{cursor:pointer;font-family:inherit}button.chip:hover{border-color:var(--line-strong);color:var(--ink)}.chip-accent{background:var(--accent-soft);border-color:#e0e7ff;color:#4338ca}.repo-list{display:flex;flex-direction:column;gap:8px}.repo-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.repo-item .repo-icon{width:30px;height:30px;border-radius:8px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;flex:none}.repo-item .repo-icon svg{width:15px;height:15px}.repo-name{font-size:12px;font-weight:650}.repo-meta{font-size:10.5px;color:var(--muted);margin-top:2px}.tree{display:flex;flex-direction:column;gap:6px}.tree-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .15s,box-shadow .15s}.tree-item:hover{border-color:#c7d2fe;box-shadow:var(--shadow-sm)}.tree-item.child{margin-left:34px;background:var(--surface-2)}.tree-connector{color:var(--muted-2);font-family:monospace}.tree-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet);flex:none}.tree-icon svg{width:17px;height:17px}.tree-main{flex:1;min-width:0}.tree-title{font-size:13px;font-weight:700}.tree-meta{color:var(--muted);font-size:11px;margin-top:3px;display:flex;gap:8px;flex-wrap:wrap}.tree-right{display:flex;align-items:center;gap:8px}.entity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entity-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);transition:border-color .15s,transform .15s,box-shadow .15s;cursor:pointer}.entity-card:hover{border-color:#c7d2fe;transform:translateY(-1px);box-shadow:var(--shadow)}.entity-head{display:flex;align-items:flex-start;gap:11px}.entity-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#eef2ff,#e0f2fe);color:#4338ca;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}.entity-name{font-size:13.5px;font-weight:700}.entity-sub{color:var(--muted);font-size:11px;margin-top:3px}.entity-stats{display:flex;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.entity-stat strong{display:block;font-size:14px}.entity-stat span{color:var(--muted);font-size:10.5px}.entity-foot{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar .input,.toolbar .select{height:38px}.input,.select,textarea{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:0 11px;font-size:12.5px;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,textarea:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #6366f11a}.input{min-width:200px}.select{min-width:150px;cursor:pointer}textarea{padding:10px 11px;min-height:90px;resize:vertical;width:100%}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:11px;font-weight:700;color:var(--ink-2)}.hint{color:var(--muted);font-size:10.5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}.form-row{display:flex;gap:10px}.form-row>*{flex:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:40px 18px;overflow-y:auto;animation:fade-in .15s ease both}.modal{width:100%;max-width:720px;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);animation:modal-in .2s cubic-bezier(.2,.8,.3,1) both;margin:auto}.modal.modal-wide{max-width:920px}.modal.modal-narrow{max-width:520px}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}.modal-head{padding:20px 22px 16px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-title{font-size:17px;font-weight:750;letter-spacing:-.01em}.modal-sub{color:var(--muted);font-size:12px;margin-top:4px}.modal-close{border:0;background:transparent;color:var(--muted);width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.modal-close:hover{background:var(--surface-2);color:var(--ink)}.modal-body{padding:20px 22px}.modal-foot{padding:16px 22px 20px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.toast-root{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{min-width:280px;max-width:380px;background:var(--ink);color:#fff;border-radius:12px;padding:13px 15px;box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:10px;animation:toast-in .22s ease both}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast svg{width:18px;height:18px;flex:none;margin-top:1px;color:#4ade80}.toast strong{display:block;font-size:12.5px}.toast span{display:block;color:#cbd5e1;font-size:11px;margin-top:2px}.section-title{font-size:13px;font-weight:750;margin:0 0 12px}.divider{height:1px;background:var(--line);margin:18px 0}.empty-state{padding:40px 20px;text-align:center;color:var(--muted)}.empty-state .empty-icon{width:52px;height:52px;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;margin:0 auto 12px;color:var(--muted-2)}.empty-state .empty-icon svg{width:24px;height:24px}.empty-state strong{display:block;color:var(--ink-2);font-size:13px;margin-bottom:4px}.empty-state p{font-size:11.5px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.nowrap{white-space:nowrap}.right{text-align:right}.flex{display:flex;align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.hidden{display:none!important}.avatar-sm{width:28px;height:28px;border-radius:8px;font-size:9.5px}.initials{display:grid;place-items:center;font-weight:800}.status-select{height:34px;border-radius:9px;font-size:12px;font-weight:600}.doc-content{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:16px;max-height:480px;overflow:auto;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11.5px;line-height:1.6}.attention{display:flex;flex-direction:column;gap:10px}.attention-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:var(--amber-soft);border:1px solid #fde68a}.attention-item.red{background:var(--red-soft);border-color:#fecaca}.attention-item .att-icon{color:var(--amber);flex:none;margin-top:1px}.attention-item.red .att-icon{color:var(--red)}.attention-item strong{display:block;font-size:12px}.attention-item span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.pipeline-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:10.5px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}@media(max-width:1200px){.stats-grid,.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main{grid-template-columns:1fr}}@media(max-width:1400px){.col-product{display:none}}@media(max-width:1200px){.col-paid{display:none}}@media(max-width:980px){:root{--sidebar-w: 240px}.sidebar{transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.workspace{margin-left:0}.menu-btn{display:inline-grid}.view{padding:22px}.topbar{padding:0 20px}.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.user-meta{display:none}}@media(max-width:720px){.sidebar{transform:translate(-100%);transition:transform .22s ease;box-shadow:var(--shadow-lg)}.sidebar.open{transform:none}.workspace{margin-left:0}.menu-btn{display:inline-grid}.search-box kbd{display:none}.stats-grid,.grid-2,.grid-3,.grid-4,.entity-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.kv{grid-template-columns:1fr}.funnel-row{grid-template-columns:105px 1fr 26px}.view{padding:18px}.topbar{gap:10px}.page-title{font-size:22px}.modal-backdrop{padding:14px}.table-wrap{margin:0 -18px;padding:0 18px}}.crumbs{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);margin-bottom:8px}.crumbs a{color:var(--muted);font-weight:600}.crumbs a:hover{color:var(--accent)}.project-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:-4px 0 20px;color:var(--muted);font-size:11.5px}.project-meta strong{color:var(--ink-2);font-weight:700}.section-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.section-stats>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-sm)}.section-stats span{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.section-stats strong{font-size:18px;letter-spacing:-.02em}.tab-count{margin-left:7px;padding:1px 6px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);font-size:10px;color:var(--muted)}.tab.active .tab-count{background:var(--accent-soft);border-color:#e0e7ff;color:#4338ca}.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.linkish:hover{color:var(--accent)}.dot-amber{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b24}.list-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex:none}.chip input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent)}@media(max-width:900px){.section-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.project-meta{gap:12px}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(900px 500px at 50% -10%,rgba(79,70,229,.18),transparent 60%),var(--bg)}.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:var(--shadow)}.login-card .brand-text span{color:var(--muted)}
