@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2) format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2) format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2) format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff) format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/outfit-latin-700-normal-Cu9v6i1X.woff2) format("woff2"),url(/assets/outfit-latin-700-normal-D4itBLBr.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff")}:root{--font-ui: "Outfit", "Inter", "Segoe UI", system-ui, sans-serif;--brand: #c71784;--brand-600: #ad1373;--brand-700: #8e115e;--brand-50: #fdf0f7;--brand-100: #fadbec;--plum: #3a103c;--violet: #7b2cbf;--bg: #f6f5f9;--bg-glow-1: rgba(199, 23, 132, .08);--bg-glow-2: rgba(123, 44, 191, .07);--surface: #ffffff;--surface-2: #faf9fc;--surface-3: #f2f0f6;--border: #e8e4ee;--border-strong: #d8d2e1;--text: #1d1424;--text-2: #4d4357;--muted: #7a7086;--heading: #22102a;--nav-bg: #ffffff;--nav-text: #4d4357;--nav-hover: #f5f2f8;--nav-active-bg: var(--brand-50);--nav-active-text: var(--brand-700);--ok: #0f8a5f;--ok-bg: #e6f6ef;--warn: #a36200;--warn-bg: #fff3dd;--bad: #c0264b;--bad-bg: #fdebef;--info: #2b5fd9;--info-bg: #eaf0fe;--neutral: #5e5569;--neutral-bg: #f0edf4;--t-brand: #c71784;--t-violet: #7b2cbf;--t-teal: #0b9488;--t-amber: #d97706;--t-red: #dc2645;--t-green: #16a34a;--t-orange: #ea580c;--chart-planned: #b8aec6;--chart-actual: #c71784;--chart-grid: #eeebf2;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 22px;--shadow-xs: 0 1px 2px rgba(29, 20, 36, .05);--shadow-sm: 0 1px 2px rgba(29, 20, 36, .04), 0 2px 8px rgba(29, 20, 36, .04);--shadow: 0 1px 2px rgba(29, 20, 36, .04), 0 8px 24px rgba(29, 20, 36, .06);--shadow-lg: 0 20px 50px rgba(29, 20, 36, .16);--ring: 0 0 0 3px rgba(199, 23, 132, .22);color-scheme:light;font-family:var(--font-ui);color:var(--text);line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--brand: #e04aa3;--brand-600: #ea64b2;--brand-700: #f28cc6;--brand-50: rgba(224, 74, 163, .12);--brand-100: rgba(224, 74, 163, .22);--bg: #0f0b13;--bg-glow-1: rgba(224, 74, 163, .1);--bg-glow-2: rgba(123, 44, 191, .12);--surface: #17121c;--surface-2: #1c1622;--surface-3: #241d2b;--border: #2c2433;--border-strong: #3a3142;--text: #ece7f1;--text-2: #c5bccf;--muted: #958aa2;--heading: #f6f1fa;--nav-bg: #130f18;--nav-text: #c5bccf;--nav-hover: #1e1825;--nav-active-bg: rgba(224, 74, 163, .14);--nav-active-text: #f6b3d8;--ok: #4ade9a;--ok-bg: rgba(74, 222, 154, .12);--warn: #fbbf4a;--warn-bg: rgba(251, 191, 74, .12);--bad: #fb7190;--bad-bg: rgba(251, 113, 144, .13);--info: #7ea6ff;--info-bg: rgba(126, 166, 255, .12);--neutral: #b5abc0;--neutral-bg: rgba(181, 171, 192, .12);--chart-planned: #5d526b;--chart-actual: #ec5fb0;--chart-grid: #261f2d;--shadow-xs: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .25);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;background:radial-gradient(900px 420px at 100% -10%,var(--bg-glow-1),transparent 60%),radial-gradient(700px 360px at 15% -10%,var(--bg-glow-2),transparent 55%),var(--bg);background-attachment:fixed;transition:background-color .2s ease,color .2s ease}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}::selection{background:var(--brand-100)}h1,h2,h3{color:var(--heading);margin:0;letter-spacing:-.02em}h1{font-size:28px;font-weight:700;line-height:1.15}h2{font-size:16px;font-weight:600;line-height:1.3}h3{font-size:17px;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:12.5px}.text-ok{color:var(--ok)}.text-bad{color:var(--bad)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.num{font-variant-numeric:tabular-nums;font-weight:600}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row.nowrap{flex-wrap:nowrap}.grow{flex:1}.app-shell{--nav-w: 252px;min-height:100vh;display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.collapsed{--nav-w: 72px}.sidenav{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--nav-bg);border-right:1px solid var(--border);padding:16px 12px 12px;overflow:hidden;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;min-height:52px}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-text strong{font-size:15.5px;color:var(--heading);letter-spacing:-.01em;white-space:nowrap}.brand-text small{font-size:11.5px;color:var(--muted);white-space:nowrap}.twinit-mark{flex:none}.twinit-mark .mark-bg{fill:#1b0f22}:root[data-theme=dark] .twinit-mark .mark-bg{fill:#261c2e}.nav{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-label{margin:0 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.nav a{position:relative;display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:var(--nav-text);font-size:14px;font-weight:500;line-height:1.3;text-decoration:none;transition:background .15s,color .15s}.nav a svg{flex:none;opacity:.8}.nav a:hover{background:var(--nav-hover);color:var(--text);text-decoration:none}.nav a.active{background:var(--nav-active-bg);color:var(--nav-active-text);font-weight:600}.nav a.active svg{opacity:1;color:var(--brand)}.nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.nav a.sub{padding-left:22px;font-size:13.5px}.nav a.sub svg{width:16px;height:16px}.nav-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 7px;border-radius:99px;color:#fff;background:linear-gradient(90deg,var(--violet),var(--brand))}.sidenav-foot{border-top:1px solid var(--border);padding-top:10px;margin-top:8px}.collapse-btn{width:100%;display:flex;align-items:center;gap:11px;padding:8px 12px;border:0;background:transparent;color:var(--muted);border-radius:10px;cursor:pointer;font-size:13px}.collapse-btn:hover{background:var(--nav-hover);color:var(--text)}.app-shell.collapsed .nav-text,.app-shell.collapsed .brand-text,.app-shell.collapsed .nav-badge{display:none}.app-shell.collapsed .nav-label{visibility:hidden;height:6px;margin:0}.app-shell.collapsed .nav a{justify-content:center;padding:10px}.app-shell.collapsed .nav a.sub{padding-left:10px}.app-shell.collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.app-shell.collapsed .collapse-btn{justify-content:center}.workspace{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;height:60px;padding:0 28px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border)}.crumbs{display:flex;align-items:center;gap:4px;min-width:0;font-size:13.5px;color:var(--muted)}.crumb{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.crumb a{color:var(--muted)}.crumb a:hover{color:var(--text);text-decoration:none}.crumb .current{color:var(--text);font-weight:600}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.workspace-pick{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);font-size:13px;font-weight:600;color:var(--text-2)}.workspace-pick select{border:0;background:transparent;font-weight:600;padding:0;min-height:0;outline:none}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--t-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--t-green) 22%,transparent)}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-2);cursor:pointer}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.mobile-only{display:none}.user-menu{position:relative}.avatar-btn{border:0;background:transparent;padding:2px;border-radius:50%;cursor:pointer;min-height:0}.avatar{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--brand));color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.02em}.avatar.sm{width:28px;height:28px;font-size:11px}.avatar.lg{width:42px;height:42px;font-size:14px}.avatar.more{background:var(--surface-3);color:var(--text-2)}.menu{position:absolute;right:0;top:calc(100% + 8px);width:270px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;animation:pop .14s ease-out}.menu-head{display:flex;gap:12px;align-items:center;padding:8px 8px 10px}.menu-head>div{display:flex;flex-direction:column;min-width:0}.menu-head strong{font-size:14px}.menu-tags{display:flex;gap:6px;padding:0 8px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;min-height:0;border:0;background:transparent;border-radius:8px;font-size:13.5px;font-weight:500;cursor:pointer;color:var(--text-2)}.menu-item:hover{background:var(--surface-3);color:var(--text)}.menu-item.danger{color:var(--bad)}main{padding:28px 32px 64px;width:100%;max-width:1360px;margin:0 auto}.page{display:flex;flex-direction:column;gap:22px}.page-enter{animation:fadeUp .28s ease-out}.page-header{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-header-text{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}.eyebrow.light{color:#ffffffbf}.page-subtitle{color:var(--muted);font-size:14.5px;max-width:760px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:-8px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--border)}.panel-title{display:flex;align-items:center;gap:12px;min-width:0}.panel-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;flex:none;background:var(--brand-50);color:var(--brand)}.panel-body{padding:18px 20px 20px}.panel.flush .panel-body{padding:0}.panel.flush .table-card{border:0;border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:none}.panel:not(:has(.panel-head)).flush .table-card{border-radius:var(--radius-lg)}.two-col{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.two-col.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.kpi-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.kpi{--tone: var(--t-brand);position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 18px 16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}.kpi:hover{transform:translateY(-1px);box-shadow:var(--shadow)}button.kpi.kpi-interactive{width:100%;margin:0;padding:18px 18px 16px;font:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit}.kpi-interactive:focus-visible{outline:2px solid var(--t-brand);outline-offset:2px}.scroll-target{scroll-margin-top:88px}.scroll-target.scroll-flash{animation:scroll-flash 1.2s ease}@keyframes scroll-flash{0%,to{box-shadow:none}30%{box-shadow:0 0 0 3px color-mix(in srgb,var(--t-brand) 35%,transparent)}}.panel-head-interactive{cursor:pointer;transition:background .15s;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.panel-head-interactive:hover{background:color-mix(in srgb,var(--t-brand) 6%,transparent)}.panel-head-interactive:focus-visible{outline:2px solid var(--t-brand);outline-offset:-2px}.kpi:after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tone) 14%,transparent),transparent 70%);pointer-events:none}.tone-brand{--tone: var(--t-brand)}.tone-violet{--tone: var(--t-violet)}.tone-teal{--tone: var(--t-teal)}.tone-amber{--tone: var(--t-amber)}.tone-red{--tone: var(--t-red)}.tone-green{--tone: var(--t-green)}.tone-orange{--tone: var(--t-orange)}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-label{font-size:13px;font-weight:500;color:var(--muted)}.kpi-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:var(--tone);background:color-mix(in srgb,var(--tone) 12%,transparent)}.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.03em;color:var(--heading);line-height:1.1;font-variant-numeric:tabular-nums}.kpi-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;padding:2px 8px 2px 6px;border-radius:99px}.delta.good{color:var(--ok);background:var(--ok-bg)}.delta.bad{color:var(--bad);background:var(--bad-bg)}.project-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.project-card{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:22px;color:inherit;box-shadow:var(--shadow-sm);transition:transform .18s,box-shadow .18s,border-color .18s}a.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--brand) 35%,var(--border));text-decoration:none}.project-card.compact{gap:12px;padding:18px 20px}.project-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.project-card-head h3{margin:8px 0 4px}.project-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:14px;border-top:1px dashed var(--border)}.project-stats.three{grid-template-columns:repeat(3,1fr)}.project-stats>div{display:flex;flex-direction:column;gap:2px;min-width:0}.project-stats strong{font-size:14.5px;font-variant-numeric:tabular-nums}.mini-packages{display:grid;gap:8px}.mini-package{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;font-size:13px;color:var(--text-2)}.card-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--brand)}.code-chip{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:6px;background:var(--surface-3);color:var(--text-2);font-family:ui-monospace,SF Mono,Menlo,monospace}.progress-wrap{display:flex;align-items:center;gap:10px;min-width:0}.progress{position:relative;flex:1;height:8px;border-radius:99px;background:var(--surface-3);overflow:visible;min-width:60px}.progress-wrap.sm .progress{height:6px}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--t-teal),var(--t-green));transition:width .6s cubic-bezier(.2,.8,.2,1)}.progress-fill.behind{background:linear-gradient(90deg,var(--violet),var(--brand))}.progress-marker{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:2px;background:var(--heading);opacity:.55}.progress-label{font-size:12.5px;font-weight:600;min-width:44px;text-align:right;font-variant-numeric:tabular-nums}.ring{position:relative;flex:none}.ring-track{stroke:var(--surface-3)}.ring-fill{stroke:var(--brand);transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--heading)}.burn{display:inline-block;width:100%;max-width:140px;height:6px;border-radius:99px;background:var(--surface-3);overflow:hidden;vertical-align:middle}.burn>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--brand))}.paid-ratio{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end}.paid-ratio .burn{width:70px}.chart{display:flex;flex-direction:column;gap:10px}.chart-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);font-weight:500;align-items:center}.chart-legend span{display:inline-flex;align-items:center;gap:7px}.chart-legend b{color:var(--text)}.legend-gap{margin-left:auto;padding:2px 10px;border-radius:99px;font-weight:600}.legend-gap.bad{color:var(--bad);background:var(--bad-bg)}.legend-gap.good{color:var(--ok);background:var(--ok-bg)}.swatch{width:14px;height:4px;border-radius:99px;display:inline-block}.swatch.planned{background:var(--chart-planned)}.swatch.actual{background:var(--chart-actual)}.chart-frame{position:relative}.chart-frame svg{width:100%;height:auto;display:block;overflow:visible}.grid-line{stroke:var(--chart-grid);stroke-width:1}.axis-label{fill:var(--muted);font-size:11px}.line-planned{fill:none;stroke:var(--chart-planned);stroke-width:2.5;stroke-dasharray:6 5}.line-actual{fill:none;stroke:var(--chart-actual);stroke-width:3}.grad-actual-0{stop-color:var(--chart-actual);stop-opacity:.22}.grad-actual-1{stop-color:var(--chart-actual);stop-opacity:0}.dot-actual{fill:var(--surface);stroke:var(--chart-actual);stroke-width:2.5}.dot-planned{fill:var(--surface);stroke:var(--chart-planned);stroke-width:2.5}.hover-line{stroke:var(--border-strong);stroke-dasharray:3 3}.chart-tip{position:absolute;top:4px;transform:translate(-50%);pointer-events:none;display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:10px;background:var(--heading);color:var(--surface);font-size:12px;white-space:nowrap;box-shadow:var(--shadow-lg)}.chart-tip span{display:inline-flex;align-items:center;gap:6px;opacity:.9}.hbars{display:flex;flex-direction:column;gap:14px}.hbar-row{display:grid;grid-template-columns:120px 1fr 110px;gap:12px;align-items:center}.hbar-label{font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{position:relative;height:22px;border-radius:7px;background:var(--surface-2);overflow:hidden}.hbar{position:absolute;left:0;border-radius:7px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.hbar.planned{top:0;bottom:0;background:color-mix(in srgb,var(--chart-planned) 45%,transparent)}.hbar.actual{top:5px;bottom:5px;background:linear-gradient(90deg,var(--t-teal),var(--t-green))}.hbar.actual.behind{background:linear-gradient(90deg,var(--violet),var(--brand))}.hbar-value{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.columns{display:flex;align-items:stretch;gap:10px;padding-top:8px}.col-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.col-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-bottom:1px solid var(--border)}.col{width:min(22px,40%);border-radius:6px 6px 0 0;min-height:2px;transition:height .6s cubic-bezier(.2,.8,.2,1)}.col.planned{background:var(--chart-planned)}.col.actual{background:linear-gradient(180deg,var(--brand),var(--violet))}.col-label{font-size:11.5px;color:var(--muted);white-space:nowrap}.stacked-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;gap:2px;background:var(--surface-3);margin-top:-8px}.stacked-bar .seg{background:var(--tone);border:none;padding:0;cursor:pointer;min-width:4px}.stacked-bar .seg:hover{opacity:.85}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-toolbar{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.table-count{margin-left:auto}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}table.dense th,table.dense td{padding:10px 14px}th{position:sticky;top:0;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);white-space:nowrap}td{color:var(--text-2);font-variant-numeric:tabular-nums}td strong{color:var(--text);font-weight:600}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .12s}tbody tr:hover td{background:var(--surface-2)}tr.clickable{cursor:pointer}.th-sort{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:0;min-height:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;box-shadow:none}.th-sort svg{opacity:.45}.th-sort:hover,.th-sort.active{color:var(--text);background:transparent}.th-sort.active svg{opacity:1;color:var(--brand)}.cell-title{display:flex;flex-direction:column;gap:1px;min-width:0}.cell-person{display:flex;align-items:center;gap:10px;min-width:0}.strong-link{font-weight:600}.file-badge{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--brand-50);color:var(--brand);flex:none}.rev{display:inline-grid;place-items:center;min-width:26px;height:24px;padding:0 6px;border-radius:6px;background:var(--surface-3);font-weight:700;font-size:12px;color:var(--text)}.slip{display:inline-flex;align-items:center;gap:10px;justify-content:flex-end}.slip-bar{width:70px;height:6px;border-radius:99px;background:var(--bad-bg);overflow:hidden}.slip-bar span{display:block;height:100%;background:var(--bad);border-radius:99px}.slip b{color:var(--bad);min-width:38px;text-align:right}input,select,textarea{font-size:14px;min-height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}textarea{width:100%;resize:vertical}.search-input{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;min-width:220px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--muted)}.search-input:focus-within{border-color:var(--brand);box-shadow:var(--ring)}.search-input input{border:0;padding:0;min-height:0;height:100%;background:transparent;flex:1;box-shadow:none;min-width:0}.filter-bar{display:flex;gap:10px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.inline-form input{min-width:200px}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .08s,box-shadow .15s}button:hover{background:var(--surface-3)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary,a.btn-primary{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 16px;border-radius:10px;font-weight:600;font-size:13.5px;text-decoration:none;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 88%,white),var(--brand));color:#fff;border:1px solid var(--brand-600);box-shadow:0 1px 2px #00000014,0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.btn-primary:hover,a.btn-primary:hover{background:var(--brand-600);text-decoration:none}:root[data-theme=dark] .btn-primary{color:#1a0712}.btn-secondary,a.btn-secondary{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 14px;border-radius:10px;font-weight:600;font-size:13.5px;text-decoration:none;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);box-shadow:var(--shadow-xs)}.btn-secondary:hover,a.btn-secondary:hover{background:var(--surface-3);text-decoration:none}.btn-success{background:var(--ok-bg);color:var(--ok);border-color:transparent}.btn-success:hover{background:color-mix(in srgb,var(--ok) 20%,transparent)}.btn-danger{background:var(--surface);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 30%,var(--border))}.btn-danger:hover{background:var(--bad-bg)}button.sm,.btn-secondary.sm{min-height:30px;padding:4px 10px;font-size:12.5px;border-radius:8px}.btn-lg{min-height:46px;padding:10px 22px;font-size:15px}.btn-block{width:100%;justify-content:center}.link-sm{display:inline-flex;align-items:center;gap:2px;font-size:13px;font-weight:600}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:11px;background:var(--surface-3);flex-wrap:wrap}.segmented button{min-height:30px;padding:4px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;box-shadow:none}.segmented button:hover{color:var(--text);background:transparent}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg-count{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 6px;border-radius:99px;font-size:11px;background:var(--border);color:var(--text-2)}.segmented button.active .seg-count{background:var(--brand-100);color:var(--brand-700)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12.5px;font-weight:600;color:var(--text-2)}.field-hint{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea{width:100%}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.one{grid-template-columns:1fr}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border);margin-top:4px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:99px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap;background:var(--neutral-bg);color:var(--neutral)}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill:not(:has(.pill-dot)){padding:3px 10px}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;font-size:13.5px;font-weight:500}.alert svg{flex:none;margin-top:1px}.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.info{background:var(--info-bg);color:var(--info)}.error{color:var(--bad);font-weight:600}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:40px 20px;color:var(--text-2)}.empty-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--surface-3);color:var(--muted);margin-bottom:4px}.skeleton-block{display:flex;flex-direction:column;gap:12px}.skeleton{height:14px;border-radius:8px;background:linear-gradient(90deg,var(--surface-3) 25%,var(--surface-2) 50%,var(--surface-3) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite linear}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--brand-100);border-top-color:var(--brand);animation:spin .8s linear infinite}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:100;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:10px;min-width:280px;max-width:420px;padding:12px 10px 12px 14px;border-radius:12px;background:var(--heading);color:var(--surface);box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:500;animation:slideIn .22s ease-out}.toast span:nth-child(2){flex:1}.toast-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--t-green);color:#fff;flex:none}.toast.bad .toast-icon{background:var(--t-red)}.toast-icon svg{width:14px;height:14px}.toast .icon-btn{width:28px;height:28px;color:inherit;opacity:.7}.toast .icon-btn:hover{background:#ffffff1a;opacity:1}.drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f081473;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s}.drawer{position:absolute;right:0;top:0;bottom:0;width:min(520px,100%);display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--shadow-lg);animation:drawerIn .26s cubic-bezier(.2,.8,.2,1)}.drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:22px 24px 16px;border-bottom:1px solid var(--border)}.drawer-head h2{font-size:19px}.drawer-body{padding:22px 24px;overflow-y:auto;flex:1}.drawer-root.center{display:grid;place-items:center;padding:24px 16px}.drawer.center{position:relative;right:auto;top:auto;bottom:auto;z-index:1;width:min(640px,100%);max-height:calc(100vh - 48px);border-radius:18px;animation:pop .16s ease-out}.ageing-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.ageing-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 18px;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:left;position:relative;overflow:hidden}.ageing-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone)}.ageing-card:hover{background:var(--surface);border-color:var(--border-strong)}.ageing-card.selected{border-color:var(--tone);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone) 18%,transparent)}.ageing-card .kpi-value{color:var(--tone)}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline li{position:relative;display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:center;padding:10px 0}.timeline li:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--border)}.timeline li:first-child:before{top:50%}.timeline li:last-child:before{bottom:50%}.timeline li>div{display:flex;flex-direction:column;min-width:0}.timeline-dot{position:relative;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--surface);border:3px solid var(--t-green)}.timeline li.risk .timeline-dot{border-color:var(--t-red)}.timeline.compact li{grid-template-columns:18px 1fr}.timeline.compact .timeline-dot{border-color:var(--brand)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);min-width:0}.list li:last-child{border-bottom:0}.hero-summary{display:flex;gap:18px;align-items:flex-start;padding:24px 26px;border-radius:var(--radius-xl);color:#fff;position:relative;overflow:hidden;background:radial-gradient(500px 220px at 100% 0%,rgba(255,39,126,.45),transparent 60%),radial-gradient(400px 220px at 0% 100%,rgba(123,44,191,.55),transparent 60%),linear-gradient(135deg,#2a0b30,#4a1250);box-shadow:var(--shadow)}.hero-summary p{font-size:16px;line-height:1.65;margin-top:6px;max-width:920px;color:#ffffffeb}.hero-summary-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#ffffff24;flex:none}.hero-summary .skeleton{background:#ffffff26}.repo-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}.repo-folders{display:flex;flex-direction:column;gap:4px;position:sticky;top:80px}.repo-folders button{justify-content:flex-start;border:0;background:transparent;color:var(--text-2);font-weight:500;padding:10px 12px}.repo-folders button:hover{background:var(--surface-3)}.repo-folders button.active{background:var(--surface);color:var(--brand-700);font-weight:600;box-shadow:var(--shadow-sm)}.repo-folders button.active svg{color:var(--brand)}.file-grid{display:grid;gap:12px;padding:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.file-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);transition:border-color .15s,background .15s;min-width:0}.file-card:hover{border-color:var(--border-strong);background:var(--surface)}.file-card .cell-title{flex:1}.file-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;flex:none;color:var(--t-violet);background:color-mix(in srgb,var(--t-violet) 12%,transparent)}.file-icon.f-contracts{color:var(--t-brand);background:color-mix(in srgb,var(--t-brand) 12%,transparent)}.file-icon.f-moms{color:var(--t-teal);background:color-mix(in srgb,var(--t-teal) 12%,transparent)}.file-icon.f-photographs{color:var(--t-amber);background:color-mix(in srgb,var(--t-amber) 12%,transparent)}.file-icon.f-inspection{color:var(--t-green);background:color-mix(in srgb,var(--t-green) 12%,transparent)}.group-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.group-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;min-height:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;box-shadow:var(--shadow-sm)}.group-card:hover{background:var(--surface);border-color:var(--border-strong)}.group-card.selected{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.group-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--brand-50);color:var(--brand);margin-bottom:6px}.avatar-stack{display:flex;align-items:center;margin-top:10px}.avatar-stack .avatar{margin-right:-8px;border:2px solid var(--surface)}.avatar-stack .muted{margin-left:16px}.restricted{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:80px 20px}.restricted-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--bad-bg);color:var(--bad);margin-bottom:8px}.viewer-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}.viewer-side{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm);position:sticky;top:80px;max-height:calc(100vh - 100px);overflow-y:auto}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}.back-link:hover{color:var(--text);text-decoration:none}.viewer-title{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.viewer-title h1{font-size:21px}.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}.step{flex-direction:column;gap:6px;border:0;background:transparent;padding:4px;min-height:0;position:relative;box-shadow:none}.step:hover{background:transparent}.step:not(:last-child):after{content:"";position:absolute;top:17px;left:calc(50% + 16px);right:calc(-50% + 16px);height:2px;background:var(--border)}.step.done:not(:last-child):after{background:var(--brand)}.step-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface);font-size:12px;color:var(--muted)}.step.done .step-dot{border-color:var(--brand);background:var(--brand);color:#fff}.step.current .step-dot{box-shadow:0 0 0 4px var(--brand-100)}.step-label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:capitalize}.step.done .step-label{color:var(--text)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tabs.wrap{flex-wrap:wrap}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:8px 10px;min-height:0;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px}.tabs button:hover{color:var(--text);background:transparent}.tabs button.active{color:var(--text);border-bottom-color:var(--brand)}.tabs button.active .seg-count{background:var(--brand-100);color:var(--brand-700)}.comment-list{display:flex;flex-direction:column;gap:12px}.comment{display:flex;gap:10px}.comment p{font-size:13.5px;color:var(--text-2)}.comment strong{font-size:13px}.comment-form{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.viewer-stage{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:#1b1220;box-shadow:var(--shadow)}.viewer-shell{display:flex;flex-direction:column}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#24182b;color:#eee3f2}.viewer-toolbar-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;min-width:0}.btn-ghost-light{background:#ffffff0f;color:#f3e8f7;border-color:#ffffff1f;min-height:34px;padding:6px 12px}.btn-ghost-light:hover{background:#ffffff1f}.apryse{height:calc(100vh - 170px);min-height:520px}.assistant{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 128px);max-width:980px;margin:0 auto;width:100%}.assistant-head{display:flex;align-items:center;gap:14px}.assistant-head>div{flex:1}.assistant-head h1{font-size:22px}.assistant-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;flex:none;color:#fff;background:linear-gradient(135deg,var(--violet),var(--brand));box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 30%,transparent)}.assistant-avatar.sm{width:30px;height:30px;border-radius:9px;box-shadow:none}.chat{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:4px 2px}.chat-welcome{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:20px 0}.chat-welcome h2{font-size:22px}.welcome-orb{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;color:#fff;margin-bottom:8px;background:linear-gradient(135deg,var(--violet),var(--brand));box-shadow:0 12px 30px color-mix(in srgb,var(--brand) 35%,transparent);animation:float 4s ease-in-out infinite}.prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;width:100%}.prompt-card{justify-content:flex-start;align-items:flex-start;text-align:left;white-space:normal;padding:14px;gap:12px;font-weight:500;line-height:1.45;color:var(--text-2);border-color:var(--border);border-radius:14px;box-shadow:var(--shadow-xs)}.prompt-card svg{flex:none;color:var(--brand);margin-top:1px}.prompt-card:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));background:var(--surface);color:var(--text);transform:translateY(-1px)}.msg{display:flex;gap:10px;align-items:flex-start;animation:fadeUp .2s ease-out}.msg.user{justify-content:flex-end}.bubble{max-width:78%;padding:12px 16px;border-radius:16px;white-space:pre-wrap;font-size:14.5px;line-height:1.6;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.msg.user .bubble{background:linear-gradient(135deg,var(--violet),var(--brand));color:#fff;border:0;border-bottom-right-radius:6px}.msg.assistant .bubble{border-top-left-radius:6px}.typing{display:inline-flex;gap:4px;padding:4px 0}.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chip{min-height:30px;padding:4px 12px;border-radius:99px;font-size:12.5px;font-weight:500;color:var(--text-2)}.composer{display:flex;gap:10px;align-items:flex-end;padding:10px;border:1px solid var(--border-strong);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.composer:focus-within{border-color:var(--brand);box-shadow:var(--ring),var(--shadow)}.composer textarea{border:0;box-shadow:none;resize:none;min-height:40px;max-height:160px;padding:9px 8px;background:transparent}.composer textarea:focus{box-shadow:none}.send-btn{width:42px;height:42px;padding:0;justify-content:center;border-radius:12px}.gate{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--bg)}.gate-hero{display:flex;flex-direction:column;justify-content:space-between;gap:40px;padding:48px 56px;color:#fff;background:radial-gradient(600px 320px at 85% 10%,rgba(255,39,126,.45),transparent 60%),radial-gradient(600px 360px at 10% 100%,rgba(123,44,191,.55),transparent 60%),radial-gradient(400px 200px at 60% 70%,rgba(1,169,158,.25),transparent 60%),linear-gradient(160deg,#1d0822,#3a103c)}.gate-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}.gate-hero h1{color:#fff;font-size:44px;line-height:1.08;max-width:520px}.gate-hero p{margin-top:16px;font-size:17px;color:#fffc;max-width:520px;line-height:1.6}.gate-points{list-style:none;padding:0;margin:0;display:grid;gap:12px;color:#ffffffe0;font-size:15px}.gate-points li{display:flex;align-items:center;gap:12px}.gate-points li:before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffffff24;font-size:12px;font-weight:700;flex:none}.gate-side{display:grid;place-items:center;padding:32px}.gate-card{width:min(400px,100%);display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:36px 32px;box-shadow:var(--shadow-lg)}.gate-card h2{font-size:24px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1100px){.two-col,.two-col.wide-left,.viewer-layout{grid-template-columns:1fr}.viewer-side{position:static;max-height:none}main.viewer-page{height:auto;min-height:calc(100vh - 60px);overflow:visible}main.viewer-page .viewer-layout,main.viewer-page .viewer-stage{height:auto}main.viewer-page .apryse{height:calc(100vh - 180px);min-height:640px}}@media(max-width:900px){.app-shell,.app-shell.collapsed{grid-template-columns:1fr;--nav-w: 272px}.sidenav{position:fixed;left:0;top:0;bottom:0;width:272px;transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.app-shell.mobile-open .sidenav{transform:none}.app-shell.collapsed .nav-text,.app-shell.collapsed .brand-text,.app-shell.collapsed .nav-badge{display:initial}.app-shell.collapsed .nav-label{visibility:visible;height:auto;margin:0 10px 4px}.app-shell.collapsed .nav a{justify-content:flex-start;padding:9px 10px}.sidenav-foot{display:none}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f081473;z-index:15;opacity:0;pointer-events:none;transition:opacity .2s}.app-shell.mobile-open .scrim{opacity:1;pointer-events:auto}.mobile-only{display:inline-grid}.topbar{padding:0 14px}.crumbs .crumb:not(:last-child){display:none}.crumbs .crumb svg{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kpi{padding:14px}.kpi-value{font-size:22px}.workspace-pick{display:none}main{padding:20px 16px 48px}h1{font-size:24px}.repo-layout{grid-template-columns:1fr}.repo-folders{position:static;flex-direction:row;overflow-x:auto}.gate{grid-template-columns:1fr}.gate-hero{padding:32px 24px;gap:24px}.gate-hero h1{font-size:32px}.gate-points{display:none}.prompt-grid{grid-template-columns:1fr}.project-stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.mini-package{grid-template-columns:110px 1fr}.hbar-row{grid-template-columns:90px 1fr 90px}}@media(min-width:901px){.scrim{display:none}}.project-picker{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.project-picker button{justify-content:flex-start;gap:12px;padding:12px 14px;min-height:0;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-xs)}.project-picker button:hover{background:var(--surface);border-color:var(--border-strong)}.project-picker button.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50)}.pp-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-3);color:var(--muted);flex:none}.project-picker button.active .pp-icon{background:var(--brand);color:#fff}.pp-text{display:flex;flex-direction:column;min-width:0}.pp-text strong{font-size:14px;color:var(--text)}.pp-text small{font-size:12px;color:var(--muted);font-weight:500}.kpi-grid.six{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.kpi-grid.six .kpi-value{font-size:24px}@media(max-width:1300px){.kpi-grid.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.kpi-grid.six{grid-template-columns:repeat(2,minmax(0,1fr))}}.health-row{display:flex;flex-wrap:wrap;gap:8px}.health{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:600;text-decoration:none}.health:hover{filter:brightness(.97)}.health.ok{background:var(--ok-bg);color:var(--ok)}.health.warn{background:var(--warn-bg);color:var(--warn)}.health.bad{background:var(--bad-bg);color:var(--bad)}.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:4px}.card-actions .card-link{margin-left:auto}.plain-link{color:inherit}.plain-link:hover{color:var(--brand);text-decoration:none}.pkg-list{display:flex;flex-direction:column;gap:6px}.pkg-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,1.4fr) auto;gap:14px;align-items:center;justify-content:stretch;text-align:left;padding:10px 12px;min-height:0;border:1px solid transparent;background:transparent;font-weight:500}.pkg-row:hover{background:var(--surface-2)}.pkg-row.active{border-color:var(--brand);background:var(--brand-50)}.pkg-li{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(100px,1fr)}.page-tabs{display:flex;gap:6px;padding:5px;border-radius:16px;background:var(--surface-3);overflow-x:auto;scrollbar-width:none}.page-tabs button{flex:1;min-width:200px;justify-content:flex-start;gap:10px;padding:8px 14px;min-height:0;border:0;border-radius:12px;background:transparent;text-align:left;box-shadow:none}.page-tabs button:hover{background:color-mix(in srgb,var(--surface) 55%,transparent)}.page-tabs button.active{background:var(--surface);box-shadow:var(--shadow-sm)}.page-tabs .ring-label{display:none}.pt-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--muted);flex:none}.page-tabs button.active .pt-icon{background:var(--brand);color:#fff}.pt-text{display:flex;flex-direction:column;min-width:0}.pt-text strong{font-size:14px;color:var(--text);white-space:nowrap}.pt-text small{font-size:12px;color:var(--muted);font-weight:500}.page-tabs button:not(.active) .pt-text strong{color:var(--text-2)}.link-btn{display:inline-flex;padding:0;min-height:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;box-shadow:none;text-align:left;white-space:normal}.link-btn:hover{background:none}.card-link.link-btn,.strong-link.link-btn{color:var(--brand);font-weight:600}h3 .link-btn{font-size:17px;font-weight:600;letter-spacing:-.02em}.project-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.project-bar strong{font-size:17px}.page-tabs .ring-track{stroke:var(--border-strong)}.upload-banner{display:flex;align-items:center;gap:16px;width:100%;padding:16px 18px;min-height:0;text-align:left;white-space:normal;border:1.5px dashed color-mix(in srgb,var(--brand) 40%,var(--border));border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--brand-50),transparent 70%),var(--surface);font-weight:500}.upload-banner:hover{border-color:var(--brand);background:linear-gradient(90deg,var(--brand-100),transparent 70%),var(--surface)}.upload-banner .cell-title{flex:1}.upload-banner .cell-title strong{font-size:15px}.upload-banner-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--brand);color:#fff;flex:none}.dropzone{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;text-align:center;cursor:pointer;border:2px dashed var(--border-strong);border-radius:16px;background:var(--surface-2);transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--brand);background:var(--brand-50)}.dropzone:focus-visible{box-shadow:var(--ring)}.dropzone-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--brand-100);color:var(--brand);margin-bottom:4px}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.upload-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.upload-list .cell-title{flex:1}.spinner.sm{width:18px;height:18px;border-width:2px;flex:none}.spinner.light{border-color:#ffffff59;border-top-color:#fff}.tag-field{display:flex;flex-direction:column;gap:8px}.tag-input{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:42px;padding:6px 8px;cursor:text;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface)}.tag-input:focus-within{border-color:var(--brand);box-shadow:var(--ring)}.tag-input input{flex:1;min-width:120px;border:0;padding:4px;min-height:0;background:transparent;box-shadow:none!important}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;min-height:0;border-radius:99px;font-size:12.5px;font-weight:600;background:var(--brand-50);color:var(--brand-700);border:1px solid transparent;white-space:nowrap}.tag button{display:inline-grid;place-items:center;width:16px;height:16px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}.tag button:hover{background:var(--brand-100)}.tag.ghost{background:var(--surface);color:var(--text-2);border-color:var(--border);cursor:pointer}.tag.ghost:hover{border-color:var(--brand);color:var(--brand-700);background:var(--surface)}.tag.active{background:var(--brand);color:#fff;cursor:pointer}.tag.sm{font-size:11.5px;padding:2px 8px}.tag.clickable{cursor:pointer}.tag.clickable:hover{background:var(--brand-100)}.tag.muted-tag{background:var(--surface-3);color:var(--muted)}.tag-list{display:inline-flex;gap:4px;flex-wrap:wrap}.tag-suggest{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-filter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);color:var(--muted)}.stage{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}.spinner.xs{width:12px;height:12px;border-width:2px}.import-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.import-stats>div{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border)}.import-stats strong{font-size:20px;color:var(--heading);font-variant-numeric:tabular-nums}.import-stats span{font-size:12px;color:var(--muted)}.import-stats .bad strong{color:var(--bad)}.alert.warn{background:var(--warn-bg);color:var(--warn)}.check{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-2);min-height:38px;cursor:pointer}.check input{min-height:0;width:16px;height:16px;accent-color:var(--brand)}.import-progress{display:flex;flex-direction:column;gap:6px}.import-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 8px}.import-done-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--ok-bg);color:var(--ok);margin-bottom:6px}.drawer .table-card .table-scroll{max-height:340px;overflow:auto}@media(max-width:600px){.import-stats{grid-template-columns:repeat(3,1fr)}}.drawer.wide{width:min(760px,100%)}.drawer td{white-space:nowrap}.import-step{display:flex;gap:12px;align-items:flex-start}.import-step .grow{display:flex;flex-direction:column;gap:8px;min-width:0}.import-step strong{font-size:14.5px;color:var(--heading);line-height:28px}.import-step p{margin-top:-8px}.step-no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:13px;font-weight:700;flex:none}.step-no.off{background:var(--surface-3);color:var(--muted)}.drawer .project-picker{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.disabled-block{pointer-events:none;opacity:.6}.alert.alert-stack{display:block}.alert.alert-stack>span{display:flex;align-items:center;gap:8px;margin-bottom:10px}.alert.alert-stack .segmented{display:inline-flex}.alert .segmented{background:#ffffff80}.viewer-stage{position:relative;display:flex;flex-direction:column;min-height:calc(100vh - 120px)}main.viewer-page{max-width:none;height:calc(100vh - 60px);padding:12px 16px 16px;box-sizing:border-box;overflow:hidden}main.viewer-page .viewer-layout{height:100%;align-items:stretch;grid-template-columns:300px minmax(0,1fr)}main.viewer-page .viewer-side{top:12px;max-height:100%}main.viewer-page .viewer-stage{height:100%;min-height:0}main.viewer-page .pdf-frame,main.viewer-page .dwg-stage{min-height:0;height:100%}.stage-tabs{display:flex;gap:4px;padding:8px 8px 0;background:#1b1220}.stage-tabs button{flex-direction:column;align-items:flex-start;gap:0;min-height:0;padding:8px 14px;border:0;border-radius:10px 10px 0 0;background:transparent;color:#cbb8d3;font-size:13px;text-align:left}.stage-tabs button small{font-size:11px;font-weight:500;opacity:.7;max-width:220px;overflow:hidden;text-overflow:ellipsis}.stage-tabs button:hover:not(:disabled){background:#ffffff0f;color:#fff}.stage-tabs button.active{background:#24182b;color:#fff}.stage-tabs button:disabled{opacity:.4}.viewer-shell{flex:1;display:flex;flex-direction:column;min-height:0}.apryse{position:relative;flex:1;height:calc(100vh - 150px);min-height:720px}main.viewer-page .apryse{height:auto;min-height:0}.apryse-host{position:absolute;top:0;right:0;bottom:0;left:0}.viewer-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#d9c8e0;font-size:13.5px;z-index:1;pointer-events:none}.viewer-loading.static{position:static;flex:1;min-height:400px}.viewer-loading.overlay{top:60px}.pdf-frame{flex:1;width:100%;min-height:560px;border:0;background:#525659}.dwg-stage{position:relative;flex:1;display:flex;flex-direction:column;min-height:560px;background:#12161c;color:#dfe6ee}.dwg-canvas{flex:1;overflow:auto;display:grid;place-items:center;padding:24px;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:24px 24px}.dwg-canvas img{max-width:none;image-rendering:auto;background:#fff;box-shadow:0 10px 30px #0006;border-radius:4px}.dwg-sheet{position:relative;justify-self:center}.dwg-sheet img{width:100%;height:auto;display:block}.dwg-blank-page{width:100%;aspect-ratio:10 / 7;background:#fff;color:#5c6570;display:flex;align-items:flex-end;padding:28px;box-shadow:0 10px 30px #0006}.dwg-blank-page span{max-width:420px;font-size:14px}.dwg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.dwg-overlay.tool-select{cursor:default}.dwg-overlay.tool-note,.dwg-overlay.tool-text,.dwg-overlay.tool-rect,.dwg-overlay.tool-cloud,.dwg-overlay.tool-arrow,.dwg-overlay.tool-ink{cursor:crosshair}.dwg-tools{flex-wrap:wrap;justify-content:flex-end}.dwg-tools .is-on{background:#fff3;border-color:#fff}.swatch{width:22px;height:22px;min-height:22px;padding:0;border-radius:50%;border:2px solid transparent}.swatch.is-on{border-color:#fff;box-shadow:0 0 0 2px #ffffff59}.dwg-editor{position:absolute;z-index:2;width:min(260px,70%);display:flex;flex-direction:column;gap:8px;padding:10px;background:#fff;color:#24182b;border-radius:12px;box-shadow:0 12px 30px #00000047}.dwg-editor textarea{width:100%;min-height:72px;color:#24182b;background:#fff}.dwg-callout{margin:0;padding:10px 16px;background:#24182b;color:#f3e8f7;font-size:13.5px}.dwg-callout strong{margin-right:8px}.dwg-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:40px 24px;color:#e6dcea}.dwg-empty .muted{color:#a998b2;max-width:460px}.dwg-empty .empty-icon{background:#ffffff14;color:#e6dcea}.dwg-facts{display:flex;flex-wrap:wrap;gap:24px;margin:0;padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);background:#181d24;font-size:12.5px}.dwg-facts dt{color:#8e9aa8;font-weight:600}.dwg-facts dd{margin:0}.zoom-label{min-width:44px;text-align:center;font-size:12.5px;color:#eee3f2}.select-cell{width:44px;padding-right:0!important}.select-cell input{width:16px;height:16px;min-height:0;padding:0;accent-color:var(--brand);cursor:pointer}tr.row-selected td{background:var(--brand-50)!important}.bulk-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--brand-50);border-bottom:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--brand-700)}.bulk-bar .grow{flex:1}.row-actions{display:inline-flex;gap:4px;justify-content:flex-end}.icon-btn.danger:hover{background:var(--bad-bg);color:var(--bad)}.btn-danger-solid{background:var(--t-red);color:#fff;border-color:transparent;box-shadow:0 6px 16px color-mix(in srgb,var(--t-red) 30%,transparent)}.btn-danger-solid:hover{background:color-mix(in srgb,var(--t-red) 85%,black)}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px}.modal{position:relative;width:min(480px,100%);background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);animation:pop .16s ease-out}.modal-head{display:flex;align-items:center;gap:12px;padding:20px 22px 8px}.modal-head h2{font-size:18px}.modal-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;flex:none}.modal-icon.danger{background:var(--bad-bg);color:var(--bad)}.modal-body{padding:4px 22px 16px 76px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text-2)}.modal-body ul{margin:0;padding-left:18px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid var(--border)}.danger-zone{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px dashed var(--border)}.danger-zone .row button{flex:1}.dwg-canvas{position:relative;flex:1;min-height:0;overflow:auto;display:block;padding:16px;place-items:initial}.dwg-canvas.fit{display:grid;place-items:center;overflow:hidden}.dwg-canvas.tool-pan{cursor:grab}.dwg-canvas.panning,.dwg-canvas.panning *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.dwg-canvas .dwg-sheet{position:relative;flex:none;margin:0 auto;background:#fff;box-shadow:0 10px 30px #00000073}.dwg-canvas.fit .dwg-sheet{margin:auto}.dwg-canvas .dwg-sheet img{display:block;width:100%;height:100%;max-width:none;box-shadow:none;border-radius:0;background:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;image-rendering:auto}.dwg-canvas .dwg-sheet img.is-crisp{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated}.dwg-canvas .dwg-blank-page{width:100%;height:100%;aspect-ratio:auto;box-shadow:none}.dwg-overlay.tool-pan{pointer-events:none}.dwg-zoom{display:inline-flex;align-items:center;gap:4px;padding-left:6px;margin-left:2px;border-left:1px solid rgba(255,255,255,.15)}.dwg-note{padding:8px 16px;font-size:12.5px;color:#e9c46a;background:#181d24}.dwg-note .link-btn{color:#f6b3d8;font-weight:600;display:inline}.cmp-shell{display:flex;flex-direction:column;min-height:0;height:100%;background:#12161c;color:#dfe6ee}.cmp-seg,.cmp-nav{display:inline-flex;align-items:center;gap:4px;padding-left:6px;margin-left:2px;border-left:1px solid rgba(255,255,255,.15)}.cmp-summary{display:flex;flex-wrap:wrap;gap:6px 16px;padding:8px 16px;background:#181d24;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;min-height:36px;align-items:center}.cmp-status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.cmp-status.ok{color:#7fd8a6}.cmp-status.bad{color:#ff9aa2}.cmp-status.warn{color:#e9c46a}.cmp-status .spinner.sm{width:14px;height:14px;border-width:2px}.muted-light{color:#8e9aa8}.cmp-key{display:inline-flex;align-items:center;gap:6px;font-weight:600}.cmp-key:before{content:"";width:10px;height:10px;border-radius:3px;background:currentColor}.cmp-key.added{color:#3ccf82}.cmp-key.removed{color:#ff6b70}.cmp-key.modified{color:#f2b43a}.cmp-panes{flex:1;min-height:480px;display:grid;gap:2px;background:#0b0e12}.cmp-panes.side{grid-template-columns:1fr 1fr}.cmp-panes.overlay{grid-template-columns:1fr}.cmp-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:#12161c}.cmp-pane-head{display:flex;align-items:center;gap:10px;padding:7px 12px;font-size:12.5px;background:#1b2028;border-bottom:2px solid transparent;min-width:0}.cmp-pane-head.older{border-bottom-color:#ff6b70}.cmp-pane-head.newer{border-bottom-color:#3ccf82}.cmp-pane-head.overlay{border-bottom-color:#f2b43a}.cmp-pane-head .truncate{min-width:0}.cmp-chip{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cmp-chip.older{background:#ff6b702e;color:#ff8d91}.cmp-chip.newer{background:#3ccf822e;color:#5fe09b}.cmp-chip.overlay{background:#f2b43a2e;color:#f2b43a}.cmp-count{margin-left:auto;white-space:nowrap;color:#c7d0da}.cmp-canvas{flex:1;cursor:grab}.cmp-canvas .dwg-sheet{overflow:hidden}.cmp-canvas .dwg-sheet.dark{background:#000}.cmp-canvas .dwg-sheet img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill}.cmp-canvas .dwg-sheet img.dimmed{opacity:.45}.cmp-canvas .dwg-sheet img.cmp-layer{opacity:1;background:transparent;image-rendering:auto}.cmp-box{position:absolute;padding:0;border:2px dashed;border-radius:4px;background:transparent;cursor:pointer;min-width:10px;min-height:10px}.cmp-box.added{border-color:#18a058}.cmp-box.removed{border-color:#e5484d}.cmp-box.modified{border-color:#eaa014}.cmp-box:hover{background:#eaa01414}.cmp-box.active{border-style:solid;border-width:3px;box-shadow:0 0 0 3px #ffffffa6,0 0 0 6px #eaa01459;animation:cmp-pulse 1.4s ease-in-out 2}@keyframes cmp-pulse{50%{box-shadow:0 0 0 3px #ffffffa6,0 0 0 12px #eaa0141a}}.cmp-badge{position:absolute;top:-11px;left:-11px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:#eaa014;box-shadow:0 1px 4px #0006}.cmp-box.added .cmp-badge,.cmp-item.added .cmp-badge{background:#18a058}.cmp-box.removed .cmp-badge,.cmp-item.removed .cmp-badge{background:#e5484d}.cmp-list{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:#181d24;border-top:1px solid rgba(255,255,255,.08)}.cmp-item{position:relative;flex:none;display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#dfe6ee;font-size:12.5px;cursor:pointer}.cmp-item .cmp-badge{position:static}.cmp-item:hover{background:#ffffff0f}.cmp-item.active{background:#ffffff1f;border-color:#fff}.cmp-facts{display:grid;gap:4px;margin:12px 0 0;font-size:13px;text-align:left}.cmp-facts>div{display:grid;grid-template-columns:90px 160px 160px;gap:8px}.cmp-facts dt{color:#8e9aa8;font-weight:600}.cmp-facts dd{margin:0}.compare-hint{margin-top:6px}@media(max-width:900px){.cmp-panes.side{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.tone-neutral{--tone: var(--neutral)}.audit-icon{flex:none;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;color:var(--tone);background:color-mix(in srgb,var(--tone) 13%,transparent)}.audit-event{display:inline-flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}.audit-doc{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.audit-file{display:inline-block;max-width:220px;vertical-align:middle}.audit-cell-detail{display:flex;flex-direction:column;gap:2px;max-width:320px;min-width:0}.audit-change{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;text-transform:capitalize}.audit-from{color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}.audit-to{color:var(--text)}.audit-note{margin:0}.audit-drawing{width:190px}.filter-bar.sub{padding-top:10px;padding-bottom:10px;background:var(--surface-2)}.avatar.xs{width:18px;height:18px;font-size:8.5px}.audit-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:520px;overflow:auto}.audit-timeline li{position:relative;display:grid;grid-template-columns:26px 1fr;gap:10px;padding:8px 0}.audit-timeline li:before{content:"";position:absolute;left:12px;top:34px;bottom:-8px;width:2px;background:var(--border)}.audit-timeline li:last-child:before{display:none}.audit-timeline li.is-bad .audit-body strong{color:var(--bad)}.audit-body{display:flex;flex-direction:column;gap:3px;min-width:0}.audit-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.audit-line .rev{height:20px;min-width:22px;font-size:11px}.audit-detail{margin:0;font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere}.audit-meta{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.audit-detail-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.audit-fields{display:grid;gap:0;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden}.audit-fields>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:9px 14px;border-top:1px solid var(--border);font-size:13px}.audit-fields>div:first-child{border-top:0}.audit-fields dt{color:var(--muted);font-weight:600}.audit-fields dd{margin:0;overflow-wrap:anywhere}.tabs.three button{flex:1}.activity{display:grid;grid-template-columns:auto 1fr;gap:8px;height:170px}.activity-y{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:22px;font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.activity-plot{position:relative;display:flex;flex-direction:column;min-width:0}.activity-grid{position:absolute;top:0;right:0;bottom:22px;left:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.activity-grid i{display:block;border-top:1px solid var(--border)}.activity-grid i:last-child{border-top-color:color-mix(in srgb,var(--muted) 45%,transparent)}.activity-bars{position:relative;flex:1;display:flex;align-items:flex-end;gap:2px}.activity-col{flex:1;height:100%;display:flex;align-items:flex-end;min-width:0;cursor:default}.activity-bar{display:block;width:100%;max-width:18px;margin:0 auto;min-height:0;border-radius:4px 4px 0 0;background:var(--chart-actual);opacity:.85;transition:opacity .12s}.activity-bar.is-hover{opacity:1;box-shadow:0 0 0 2px var(--surface)}.activity-col:hover{background:color-mix(in srgb,var(--chart-actual) 7%,transparent);border-radius:4px}.activity-tip{position:absolute;top:-6px;transform:translate(-50%,-100%);padding:6px 10px;border-radius:8px;background:var(--text);color:var(--surface);font-size:12px;white-space:nowrap;pointer-events:none;display:flex;gap:6px;align-items:baseline;box-shadow:var(--shadow);z-index:2}.activity-tip span{opacity:.75}.activity-x{position:relative;height:22px;font-size:11px;color:var(--muted)}.activity-x span{position:absolute;top:6px;transform:translate(-50%);white-space:nowrap}.activity-x span:first-child{transform:none;left:0!important}.activity-x span:last-child:not(:first-child){transform:translate(-100%)}.audit-when{white-space:nowrap}.viewer-side{overflow-x:hidden}.viewer-side .tabs{gap:0}.viewer-side .tabs button{flex:1 1 0;min-width:0;justify-content:center;padding:8px 4px;gap:4px;font-size:13px;white-space:nowrap}.viewer-side .tabs button svg{flex:none}
