:root{--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-2xl: 26px;--radius-pill: 999px;--radius-icon: 12px;--sky-band-1: #125ab0;--sky-band-2: #10539f;--sky-band-3: #0e4c8f;--sky-band-4: #0c447e;--sky-band-5: #0a3a6b;--field-band-1: var(--sky-band-1);--field-band-2: var(--sky-band-2);--field-band-3: var(--sky-band-3);--field-band-4: var(--sky-band-4);--field-band-5: var(--sky-band-5);--field-angle: 118deg;--field-glow: rgba(255, 255, 255, .14);--field: radial-gradient(120% 90% at 8% -10%, var(--field-glow), rgba(255, 255, 255, 0) 60%), linear-gradient(var(--field-angle), var(--field-band-1) 0 16%, var(--field-band-2) 16% 33%, var(--field-band-3) 33% 56%, var(--field-band-4) 56% 74%, var(--field-band-5) 74% 100%);--bg-base: var(--field-band-4);--bg-blob-a: var(--field-band-1);--bg-blob-b: var(--field-band-2);--bg-blob-c: var(--field-band-3);--bg-blob-d: var(--field-band-5);--surface-glass: rgba(255, 255, 255, .42);--surface-glass-strong: rgba(255, 255, 255, .6);--surface-glass-hero: rgba(255, 255, 255, .82);--surface-chrome: rgba(255, 255, 255, .2);--surface-panel: #ffffff;--surface-quiet: #f4f6fa;--surface-quieter: #fbfcfe;--hairline: rgba(15, 32, 60, .09);--glass-border: rgba(255, 255, 255, .55);--chrome-border: rgba(255, 255, 255, .34);--glass-blur: 22px;--glass-saturate: 160%;--glass-tint: var(--surface-glass);--glass-tint-strong: var(--surface-glass-strong);--glass-tint-weak: var(--surface-chrome);--glass-border-inner: rgba(255, 255, 255, .8);--ink-900: #0c1a2b;--ink-700: #2c3c52;--ink-500: #5b6b80;--ink-400: #8593a5;--ink-300: #c3cbd6;--ink-200: #e4e8ee;--ink-on-field: #ffffff;--accent: #1273e6;--accent-press: #0c5cba;--accent-soft: rgba(18, 115, 230, .12);--accent-wash: #e8f2ff;--accent-glow: rgba(18, 115, 230, .55);--status-ns: #9aa3b8;--status-ns-soft: #f1f3f7;--status-ns-ink: #5b6b80;--status-ip: #f5a524;--status-ip-soft: #fff3e0;--status-ip-ink: #8a5600;--status-dn: #2bb673;--status-dn-soft: #e4f7ee;--status-dn-ink: #136b45;--status-defect: #e5484d;--status-defect-soft: #fdeaeb;--status-defect-ink: #a3151b;--status-ns-fill: rgba(241, 243, 247, .82);--status-ip-fill: rgba(255, 235, 200, .86);--status-dn-fill: rgba(206, 242, 224, .86);--status-defect-fill: rgba(253, 213, 215, .88);--shadow-tile: 0 10px 30px -10px rgba(8, 38, 80, .35);--shadow-chrome: 0 10px 30px -12px rgba(8, 38, 80, .4);--shadow-pop: 0 24px 60px -18px rgba(8, 38, 80, .5);--shadow-modal: 0 40px 90px -24px rgba(4, 20, 44, .8);--lip: inset 0 1px 0 rgba(255, 255, 255, .7);--glass-shadow: var(--shadow-tile);--glass-shadow-lg: var(--shadow-pop);--glow-on: 1;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-14: 56px;--topbar-h: 56px;--shell-pad: 14px;--rail-w: 76px;--pagelist-w: 266px;--inspector-w: 290px;--sec-icon-size: 38px;--density: 1;--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--font-display: var(--font-ui);--type-display-1: 800 40px/1.05 var(--font-ui);--type-display-2: 800 30px/1.1 var(--font-ui);--type-title: 700 20px/1.25 var(--font-ui);--type-subtitle: 600 15px/1.35 var(--font-ui);--type-body: 400 14px/1.5 var(--font-ui);--type-label: 700 12px/1.3 var(--font-ui);--tracking-display: -.03em;--tracking-title: -.02em;--tracking-label: .07em;--spring-snap: cubic-bezier(.22, 1.2, .36, 1);--spring-snap: linear(0, .18 3%, .62 9%, .92 14%, 1.05 19%, 1.01 27%, .998 40%, 1);--spring-soft: cubic-bezier(.25, 1.05, .35, 1);--spring-soft: linear(0, .13 4%, .51 12%, .85 20%, 1.03 29%, .995 45%, 1);--ease-standard: cubic-bezier(.2, .7, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--dur-fast: .14s;--dur-base: .22s;--dur-slow: .3s;--motion-scale: 1;color-scheme:light;color:var(--ink-900);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}[data-palette=dark]{--field-band-1: #1b2a4a;--field-band-2: #16233d;--field-band-3: #101a2e;--field-band-4: #0b1322;--field-band-5: #070d18;--field-glow: rgba(255, 255, 255, .1);--surface-glass: rgba(255, 255, 255, .07);--surface-glass-strong: rgba(255, 255, 255, .11);--surface-glass-hero: rgba(18, 26, 43, .82);--surface-chrome: rgba(255, 255, 255, .08);--surface-panel: #121a2b;--surface-quiet: #18223a;--surface-quieter: #141d31;--hairline: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .14);--chrome-border: rgba(255, 255, 255, .12);--ink-900: #f4f7fc;--ink-700: #ccd5e4;--ink-500: #93a0b6;--ink-400: #74819a;--ink-300: #4d5a74;--ink-200: #2b3654;--accent: #62b4ff;--accent-press: #8ec9ff;--accent-soft: rgba(98, 180, 255, .18);--accent-wash: #16294a;--accent-glow: rgba(98, 180, 255, .55);--status-ns-soft: #1d2740;--status-ns-ink: #93a0b6;--status-ip-soft: #33270f;--status-ip-ink: #ffc978;--status-dn-soft: #102c21;--status-dn-ink: #6fdca6;--status-defect-soft: #34151a;--status-defect-ink: #ff9ba0;--status-ns-fill: rgba(154, 163, 184, .55);--status-ip-fill: rgba(245, 165, 36, .62);--status-dn-fill: rgba(43, 182, 115, .62);--status-defect-fill: rgba(229, 72, 77, .62);--shadow-tile: 0 10px 30px -10px rgba(0, 0, 0, .6);--shadow-chrome: 0 10px 30px -12px rgba(0, 0, 0, .6);--shadow-pop: 0 24px 60px -18px rgba(0, 0, 0, .75);--shadow-modal: 0 40px 90px -24px rgba(0, 0, 0, .85);--lip: inset 0 1px 0 rgba(255, 255, 255, .07);color-scheme:dark}[data-palette=dusk]{--field-band-1: #8c3c1f;--field-band-2: #7e361c;--field-band-3: #703019;--field-band-4: #602916;--field-band-5: #512213;--accent: #8f3a1c;--accent-press: #752f16;--accent-soft: rgba(194, 86, 46, .14);--accent-wash: #fdeee7;--accent-glow: rgba(194, 86, 46, .45)}[data-palette=aqua]{--field-band-1: #0d5865;--field-band-2: #0c505c;--field-band-3: #0a4852;--field-band-4: #093f48;--field-band-5: #07353d;--accent: #0a5f75;--accent-press: #084c5e;--accent-soft: rgba(13, 138, 168, .14);--accent-wash: #e4f6fa;--accent-glow: rgba(13, 138, 168, .45)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;min-height:100vh}body{background:var(--bg-base);color:var(--ink-900);overflow:hidden}button{font:inherit;border:0;color:inherit;background:transparent;cursor:pointer;padding:0}button:disabled{cursor:not-allowed;opacity:.45}input,textarea{font:inherit;color:inherit;border:0;outline:0;background:transparent}::selection{background:var(--accent-soft)}.sky-field,.bg-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--field)}[data-bg-anim=on] .sky-field{animation:none}.chrome{background:var(--surface-chrome);border:1px solid var(--chrome-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-chrome);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));color:var(--ink-on-field)}.glass{position:relative;background:var(--surface-glass);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-tile),var(--lip);backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate));-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-saturate))}.glass:before{content:none}.glass-strong{background:var(--surface-glass-strong)}.glass-weak{background:var(--surface-chrome)}.glass-lg{box-shadow:var(--shadow-pop);border-radius:var(--radius-xl)}.panel{background:var(--surface-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-tile);border:0;overflow:hidden}.tile{background:var(--surface-panel);border-radius:var(--radius-xl);box-shadow:var(--shadow-tile);overflow:hidden;display:flex;flex-direction:column;min-height:0}.tile-head{display:flex;align-items:center;gap:var(--space-3);padding:13px var(--space-4);flex:0 0 auto;border-bottom:1px solid var(--hairline);background:linear-gradient(180deg,var(--tint, rgba(198, 228, 255, .9)),rgba(255,255,255,.45))}.tile[data-sec=trades],.sidebar[data-section=trades]{--tint: rgba(198, 228, 255, .9)}.tile[data-sec=qc],.sidebar[data-section=qc]{--tint: rgba(203, 240, 220, .9)}.tile[data-sec=inspection],.sidebar[data-section=inspection]{--tint: rgba(205, 213, 255, .9)}.tile[data-sec=defects],.sidebar[data-section=defects]{--tint: rgba(255, 216, 218, .9)}.tile[data-sec=testing],.sidebar[data-section=testing]{--tint: rgba(255, 233, 199, .9)}.tile[data-sec=markup],.sidebar[data-section=markup]{--tint: rgba(198, 240, 243, .9)}.tile[data-sec=programme],.sidebar[data-section=programme]{--tint: rgba(225, 211, 250, .9)}[data-palette=dark] .tile-head,[data-palette=dark] .pagelist-head{background:linear-gradient(180deg,#ffffff1a,#ffffff08)}.tile-head h3{font:var(--type-title);letter-spacing:var(--tracking-title);margin:0}.tile-heading{display:flex;flex-direction:column;gap:1px;min-width:0}.tile-title{font-size:15px;font-weight:800;letter-spacing:var(--tracking-title);color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-sub{font-size:11.5px;font-weight:600;color:var(--ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-gap{flex:1 1 auto;min-width:4px}.tile-body{flex:1;min-height:0;overflow:auto;padding:var(--space-3) var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.home-tile .tile-title{font-size:18px}.tile-figure{font-size:13px;font-weight:600;color:var(--ink-700);white-space:nowrap}.inspector-tile{flex:0 0 auto}.inspector-tile .paint-section{margin-top:0}.inspector-tile .paint-section:first-of-type{margin-top:0}.sec-icon{width:var(--sec-icon-size);height:var(--sec-icon-size);flex:0 0 auto;border-radius:var(--radius-icon);display:grid;place-items:center;color:#fff;box-shadow:inset 0 1px #ffffff73,0 4px 10px -5px #0826508c}.sec-icon[data-sec=home]{background:#ffffff42;border:1px solid rgba(255,255,255,.3)}.sec-icon[data-sec=trades]{background:linear-gradient(180deg,#5cb8ff,#1273e6)}.sec-icon[data-sec=qc]{background:linear-gradient(180deg,#8fd6a8,#2bb673)}.sec-icon[data-sec=inspection]{background:linear-gradient(180deg,#a7b4ff,#5b6cff)}.sec-icon[data-sec=defects]{background:linear-gradient(180deg,#ff9096,#e5484d)}.sec-icon[data-sec=testing]{background:linear-gradient(180deg,#ffc85e,#f5a524)}.sec-icon[data-sec=markup]{background:linear-gradient(180deg,#7ddfe0,#17a2b8)}.sec-icon[data-sec=programme]{background:linear-gradient(180deg,#c39bf0,#8b5cf6)}.sec-icon[data-sec=reports]{background:linear-gradient(180deg,#9aa6b8,#4b5c73)}.sec-icon[data-sec=settings]{background:#ffffff38;border:1px solid rgba(255,255,255,.3)}.sec-icon-sm{width:32px;height:32px}.font-serif{font-family:"Instrument Serif",Times New Roman,serif;font-weight:400;letter-spacing:-.01em}.font-mono{font-family:var(--font-mono);letter-spacing:-.01em}.num,.pct,.mono{font-family:var(--font-mono);font-weight:600;font-variant-numeric:tabular-nums}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em}.app-root{position:relative;z-index:1;height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column}.home{flex:1;display:flex;flex-direction:column;gap:14px;padding:var(--shell-pad);min-height:0;overflow:hidden}[data-density=compact] .home{gap:10px}.home-topbar-title{font-size:14px;font-weight:700;letter-spacing:var(--tracking-title);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.home-grid{flex:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr);gap:14px;min-height:0}.home-col{display:flex;flex-direction:column;gap:14px;min-height:0}.home-col-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr) auto;gap:14px;min-height:0}.home-tile-site{grid-column:1 / -1}.home-hero{background:var(--surface-glass-hero);flex:1;min-height:0;padding:30px 30px 26px;display:flex;flex-direction:column;gap:18px;position:relative;border-radius:var(--radius-xl);overflow:auto}.home-topbar .topbar-right .btn-primary .btn-label{display:inline}.home-tile-quality{flex:0 0 auto}.home-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 8px;border-radius:999px;background:var(--glass-tint-weak);border:1px solid var(--glass-border);width:fit-content;font-size:12px;font-weight:500;color:var(--ink-700)}.home-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--status-dn);box-shadow:0 0 8px var(--status-dn)}.home-title{font-family:var(--font-ui);font-weight:800;font-size:clamp(30px,3.4vw,52px);line-height:1.02;letter-spacing:var(--tracking-display);color:var(--ink-900);margin:0}.home-title em{font-style:normal;color:var(--accent)}.home-sub{font-size:17px;line-height:1.55;color:var(--ink-700);max-width:460px;margin:0}.home-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.home-tile{border-radius:var(--radius-xl)}.home-tile-empty{margin:4px 0;font-size:13px;line-height:1.5;color:var(--ink-500)}.tile-more{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:4px 2px;border:0;background:transparent;color:var(--ink-500);font-size:12px;font-weight:600;cursor:pointer}.tile-more:hover{color:var(--accent)}.tile-more-dots{font-size:16px;font-weight:700;letter-spacing:.08em;line-height:1}.tile-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.recent-rows{display:flex;flex-direction:column}.recent-row{position:relative;display:flex;align-items:center;gap:6px;border-radius:var(--radius-sm)}.recent-row+.recent-row{box-shadow:inset 0 1px 0 var(--hairline)}.recent-row:hover{background:var(--surface-quiet)}.recent-row__open{flex:1;min-width:0;display:flex;align-items:center;gap:11px;padding:9px 8px;border:0;background:transparent;text-align:left;cursor:pointer}.recent-row__thumb{width:40px;height:30px;flex:0 0 auto;border-radius:7px;overflow:hidden;background:linear-gradient(135deg,#dfeaf6,#c3d6ea)}.recent-row__thumb img{width:100%;height:100%;object-fit:cover;display:block}.recent-row__label{min-width:0;display:flex;flex-direction:column;gap:1px}.recent-row__name{font-size:13.5px;font-weight:600;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-row__when{font:500 11.5px/1.2 var(--font-mono);color:var(--ink-500)}.recent-row__damaged{font-size:11.5px;font-weight:600;color:var(--status-defect-ink)}.recent-row.is-damaged .recent-row__thumb{background:var(--status-defect-soft)}.recent-row__compare-check{width:18px;height:18px;flex:0 0 auto;border-radius:5px;border:1.5px solid var(--accent);display:grid;place-items:center;color:var(--accent)}.recent-row.is-compare-selected .recent-row__compare-check,.recent-row.is-compare-selected{background:var(--accent-wash)}.recent-row__menu-btn{position:static;opacity:.45;flex:0 0 auto}.recent-row:hover .recent-row__menu-btn,.recent-row:focus-within .recent-row__menu-btn,.recent-row__menu-btn[aria-expanded=true]{opacity:1}.shared-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.shared-grid .recent-card{padding:0}.shared-grid .recent-card__thumb{height:58px;aspect-ratio:auto}.shared-grid .recent-card__name{font-size:12px}.shared-grid .recent-card__opened{font-size:11px}.site-bar{display:flex;height:10px;border-radius:var(--radius-pill);overflow:hidden;background:var(--surface-quieter)}.site-bar i{display:block;height:100%}.site-bar-done{background:var(--status-dn)}.site-bar-ip{background:var(--status-ip)}.site-figures{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}.site-pct{display:flex;align-items:baseline;gap:8px}.site-pct b{font-size:34px;font-weight:600;letter-spacing:var(--tracking-title);color:var(--ink-900)}.site-pct span{font-size:13px;color:var(--ink-500)}.site-legend{display:flex;flex-wrap:wrap;gap:12px}.site-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-700)}.site-legend i{width:9px;height:9px;border-radius:50%}.site-legend i[data-k=dn]{background:var(--status-dn)}.site-legend i[data-k=ip]{background:var(--status-ip)}.site-legend i[data-k=ns]{background:var(--surface-quieter);border:1px solid var(--hairline)}.quality-figure{font-size:24px;font-weight:600;color:var(--status-dn-ink);white-space:nowrap}.quality-stats{display:flex;align-items:flex-end;gap:22px;flex-wrap:wrap}.home-stat{display:flex;flex-direction:column;gap:3px}.home-stat-label{font:var(--type-label);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}.home-stat-value{font-size:16px;font-weight:600;color:var(--ink-900)}.home-stat-value.is-danger{color:var(--status-defect-ink)}.home-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;height:44px;padding:0 18px;border-radius:var(--radius-lg);background:var(--surface-chrome);border:1px solid var(--chrome-border, rgba(255, 255, 255, .38));backdrop-filter:blur(var(--glass-blur, 22px)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur, 22px)) saturate(160%)}.home-footer-links{display:flex;align-items:center;gap:12px;min-width:0}.home-footer-state{font-size:12px;font-weight:700;color:#fff;white-space:nowrap}.home-footer-links button{border:0;background:transparent;padding:2px 0;font-size:12px;font-weight:500;color:#ffffffe6;cursor:pointer;white-space:nowrap}.home-footer-links button:hover{color:#fff;text-decoration:underline}.home-footer-links button+button{border-left:1px solid rgba(255,255,255,.35);padding-left:12px}.home-footer-version{font-size:11.5px;color:#ffffffd9;white-space:nowrap}@media(max-width:1100px){.home{overflow:auto}.home-grid{grid-template-columns:minmax(0,1fr)}.home-col-right{grid-template-rows:auto auto}.home-tile{min-height:220px}}@media(max-height:760px){.home{overflow:auto}.home-col-right{grid-template-rows:auto auto}.home-tile{min-height:200px}.home-hero{flex:0 0 auto}}.recent-card{position:relative;border-radius:var(--radius-md);background:var(--surface-quiet);border:1px solid var(--hairline);overflow:hidden;transition:transform var(--dur-base) var(--spring-snap),background var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.recent-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,255,255,calc(.9 * var(--glow-on))),#fff0 60%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.recent-card:hover{transform:translateY(-3px);background:var(--surface-panel);box-shadow:0 18px 40px -12px #14183c33}.recent-card:active{transform:translateY(-1px) scale(.984);transition-duration:var(--dur-fast)}.recent-card.is-broken{opacity:.55}.recent-card__open{display:flex;flex-direction:column;width:100%;padding:0;background:transparent;border:0;text-align:left;color:inherit;cursor:pointer}.recent-card__thumb{position:relative;aspect-ratio:4 / 3;width:100%;overflow:hidden;background:var(--surface-quiet)}.recent-card__thumb img{width:100%;height:100%;object-fit:cover;display:block}.recent-card__thumb.is-empty{background:repeating-linear-gradient(45deg,#fff6 0,#fff6 6px,#ffffff26 6px,#ffffff26 12px),linear-gradient(135deg,var(--bg-blob-a),var(--bg-blob-c))}.recent-card__label{padding:10px 12px 12px}.recent-card__name{display:block;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-900)}.recent-card__opened{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;color:var(--ink-500);overflow:hidden;overflow-wrap:anywhere}.recent-card__changed{display:block;margin-top:1px;font-size:10.5px;font-weight:600;color:var(--ink-700);overflow-wrap:anywhere}.recent-card__damaged{display:block;margin-top:2px;font-size:11px;font-weight:600;color:#dc2626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-card.is-damaged .recent-card__thumb{outline:1px dashed rgba(220,38,38,.5);outline-offset:-3px}.recent-card__overlay-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#1418248c;color:#fff;border:1px solid rgba(255,255,255,.3);cursor:pointer;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease,background .16s ease;z-index:2}.recent-card:hover .recent-card__overlay-btn,.recent-card:focus-within .recent-card__overlay-btn,.recent-card__overlay-btn[aria-expanded=true]{opacity:1;transform:translateY(0)}.recent-card__overlay-btn:hover{background:#141824cc}.recent-card__menu{position:absolute;top:42px;right:8px;min-width:180px;display:flex;flex-direction:column;padding:6px;border-radius:12px;background:var(--glass-tint-strong);border:1px solid var(--glass-border);box-shadow:0 18px 40px -12px #14183c59;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));z-index:3}.recent-card__menu button{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:0;border-radius:8px;font-size:13px;color:var(--ink-900);text-align:left;cursor:pointer}.recent-card__menu button:hover{background:var(--glass-tint)}.recent-card__menu--portal{position:fixed;top:auto;right:auto;z-index:1000;background:var(--glass-tint-strong);border:1px solid var(--glass-border);box-shadow:0 18px 40px -12px #14183c73}.recent-card__menu-rename{display:flex;flex-direction:column;gap:8px;padding:4px;min-width:220px}.recent-card__menu-rename input{width:100%;height:34px;padding:0 10px;border-radius:8px;background:var(--glass-tint);border:1px solid var(--glass-border);color:var(--ink-900);font-size:13px}.recent-card__menu-rename input:focus{outline:none;border-color:var(--accent);background:var(--glass-tint-strong)}.recent-card__menu-rename-actions{display:flex;justify-content:flex-end;gap:6px}.thumb-control{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start;padding:8px 0 4px}.thumb-control__preview{width:96px;aspect-ratio:4 / 3;border-radius:10px;overflow:hidden;border:1px solid var(--hairline);background:var(--surface-quiet)}.thumb-control__preview img{width:100%;height:100%;object-fit:cover;display:block}.thumb-control__preview.is-empty{background:repeating-linear-gradient(45deg,#fff6 0,#fff6 6px,#ffffff26 6px,#ffffff26 12px),linear-gradient(135deg,var(--bg-blob-a),var(--bg-blob-c))}.thumb-control__actions{display:flex;flex-wrap:wrap;gap:8px}.thumb-control__hint{grid-column:1 / -1;font-size:12px;color:var(--ink-500);margin:4px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:calc(36px * var(--density));padding:0 18px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--surface-panel);color:var(--ink-900);font:600 13.5px/1 var(--font-ui);cursor:pointer;white-space:nowrap;position:relative;transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--spring-snap),box-shadow var(--dur-fast) var(--ease-standard)}.btn:hover:not(:disabled){background:var(--surface-quiet)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:transparent;color:#fff;box-shadow:0 6px 16px -6px var(--accent-glow)}.btn-primary:hover:not(:disabled){background:var(--accent-press)}.btn-ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn-ghost:hover:not(:disabled){background:var(--accent-wash)}.btn-danger{background:var(--status-defect);border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){background:var(--status-defect);filter:brightness(1.08)}.btn-chrome{background:var(--surface-chrome);border-color:var(--chrome-border);color:var(--ink-on-field)}.btn-chrome:hover:not(:disabled){background:#ffffff52}.btn-icon{width:calc(34px * var(--density));height:calc(34px * var(--density));padding:0;border-radius:var(--radius-pill)}.btn-sm{height:calc(32px * var(--density));padding:0 14px;font-size:12.5px}.btn-sm.btn-icon{width:calc(32px * var(--density));height:calc(32px * var(--density))}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--radius-pill);background:var(--surface-quiet);width:fit-content}.segmented>button{height:calc(32px * var(--density));padding:0 16px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-500);font:600 13px/1 var(--font-ui);cursor:pointer}.segmented>button.active{background:var(--surface-panel);color:var(--ink-900);box-shadow:0 2px 6px -2px #0826504d}.chrome .segmented{background:#ffffff38;border:1px solid var(--chrome-border)}.chrome .segmented>button{color:#ffffffe6}.chrome .segmented>button.active{background:#fff;color:var(--accent-press)}[data-palette=dark] .chrome .segmented>button.active{color:#0c5cba}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:var(--radius-pill);font:600 12px/1 var(--font-ui);background:var(--surface-quiet);color:var(--ink-700);white-space:nowrap}.chip-accent{background:var(--accent-wash);color:var(--accent-press)}.chip-ns{background:var(--status-ns-soft);color:var(--status-ns-ink)}.chip-ip{background:var(--status-ip-soft);color:var(--status-ip-ink)}.chip-dn{background:var(--status-dn-soft);color:var(--status-dn-ink)}.chip-defect{background:var(--status-defect-soft);color:var(--status-defect-ink)}.chip .dot{width:8px;height:8px;border-radius:50%;background:currentColor}.chip .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.row{display:flex;align-items:center;gap:11px;min-height:calc(38px * var(--density));padding:0 10px;border-radius:var(--radius-sm);color:var(--ink-900)}.row:hover{background:var(--surface-quiet)}.row.active{background:var(--accent-wash);font-weight:700}.row+.row{box-shadow:inset 0 1px 0 var(--hairline)}.row .num{font:600 11.5px/1 var(--font-mono);color:var(--ink-500)}.workbench{flex:1;display:grid;grid-template-columns:var(--rail-w) var(--pagelist-w) 1fr;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:var(--shell-pad);min-height:0;overflow:hidden}.workbench>.topbar{grid-column:1 / -1}.workbench[data-sidebar=rail]{grid-template-columns:var(--rail-w) 1fr}[data-density=compact]{--shell-pad: 10px}[data-density=compact] .workbench{--pagelist-w: 236px;gap:10px}.section-rail{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:var(--radius-xl);min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.section-rail::-webkit-scrollbar{width:0}.rail-slot{width:100%;display:flex;flex-direction:column;align-items:center}.rail-item{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 5px;border:0;border-radius:var(--radius-md);background:transparent;color:#ffffffeb;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.rail-item:hover{background:#ffffff24}.rail-item.active{background:#ffffffe6;color:var(--ink-900)}.rail-label{font-size:9.5px;font-weight:700;letter-spacing:.01em;line-height:1.1;text-align:center;color:inherit}.rail-badge{position:absolute;top:2px;right:8px;min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-pill);background:#061c3a6b;color:#fff;font-size:9.5px;line-height:15px;text-align:center}.rail-item.active .rail-badge{background:var(--accent-wash);color:var(--accent-press)}.rail-rule{width:34px;height:1px;background:#fff6;margin:2px 0 3px}.rail-spacer{flex:1;min-height:8px}.rail-cog{width:auto;padding:4px}[data-palette=dark] .btn-primary{color:#0c1a2b}[data-palette=dark] .rail-item.active{background:#ffffff29;color:var(--ink-900)}.launcher{position:absolute;top:calc(var(--shell-pad) + var(--topbar-h) + 8px);right:var(--shell-pad);z-index:40;width:392px;max-width:calc(100vw - 2 * var(--shell-pad));padding:16px;border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);background:var(--surface-panel);animation:launcher-in var(--dur-fast) var(--spring-snap);transform-origin:top right}@keyframes launcher-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.launcher{animation:none}}.launcher-head{font-size:14px;font-weight:800;color:var(--ink-900);margin-bottom:12px}.launcher-head.is-sub{margin-top:14px;padding-top:14px;border-top:1px solid var(--hairline);font:var(--type-label);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);margin-bottom:6px}.launcher-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px}.launcher-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-700);font-size:11px;font-weight:600;line-height:1.2;text-align:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.launcher-tile:hover{background:var(--surface-quiet)}.launcher-tile.active{background:var(--accent-wash);color:var(--accent-press)}.launcher-tile .sec-icon{width:42px;height:42px}.launcher-links{display:flex;flex-direction:column}.launcher-links .row{width:100%;border:0;background:transparent;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.launcher-links .row svg{width:15px;height:15px;color:var(--accent);flex:none}.launcher-links .row:disabled{opacity:.45;cursor:default}.launcher-links .row:disabled:hover{background:transparent}.sidebar{position:relative;display:flex;flex-direction:column;padding:14px;border-radius:var(--radius-xl);min-height:0;overflow:hidden}.pagelist-head{display:flex;align-items:center;gap:var(--space-3);padding:11px 13px;margin:-14px -14px 8px;flex:0 0 auto;border-bottom:1px solid var(--hairline);background:linear-gradient(180deg,var(--tint, rgba(198, 228, 255, .9)),rgba(255,255,255,.45))}.pagelist-heading{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.pagelist-head h2{min-width:0;font-size:15px;font-weight:800;letter-spacing:var(--tracking-title);color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagelist-head .num{font-size:11.5px;font-weight:600;color:var(--ink-700);white-space:nowrap}.pagelist-add{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:8px;background:#ffffffbf;color:var(--accent-press, var(--accent));cursor:pointer;transition:background .16s,transform .16s}.pagelist-add:hover{background:#fff;transform:translateY(-1px)}.pagelist-add svg{width:13px;height:13px}[data-palette=dark] .pagelist-add{background:#ffffff24;color:var(--ink-900)}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:18px;margin:0 -4px;padding:0 4px;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-track{background:transparent}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--ink-300);border-radius:3px}.sidebar-section{display:flex;flex-direction:column;gap:8px;min-height:0;order:3;flex:0 0 auto}.sidebar-section.grow{order:2;flex:0 0 auto;min-height:0}.sidebar-home-row,.sidebar-search-btn,.pinned-section{order:1}.sidebar-home-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sidebar-home-row .sidebar-item{grid-template-columns:auto auto;justify-content:center;gap:8px;padding:0 8px}.trade-section .sidebar-item{min-height:40px;height:auto;font-size:13px}.sidebar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);display:flex;align-items:center;justify-content:space-between;padding:0 4px}.sidebar-list{display:flex;flex-direction:column;gap:4px;overflow:auto;margin:0 -4px;padding:2px 4px}.sidebar-item{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;min-height:38px;padding:0 12px;border-radius:10px;text-align:left;font-size:13px;font-weight:500;color:var(--ink-700);background:transparent;border:1px solid transparent;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--spring-snap);width:100%;min-width:0}.sidebar-item:hover{background:var(--surface-quiet);color:var(--ink-900)}.sidebar-item.active{background:var(--tint, var(--surface-quiet));border-color:transparent;color:var(--ink-900);font-weight:600}[data-palette=dark] .sidebar-item.active{background:#ffffff1f}.sidebar-item .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.25}.sidebar-item .pct{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-500)}.sidebar-item--2line{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;padding:5px 12px}.trade-section .sidebar-item--2line{height:auto;min-height:48px}.sidebar-item--2line .row1{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-item--2line .row1 .label{flex:1;min-width:0}.sidebar-item--2line .row2{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:2px;min-height:15px}.section-filter input{width:100%;height:30px;padding:0 10px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px;transition:border-color .16s,background .16s}.section-filter input:focus{border-color:var(--accent);background:var(--surface-panel)}.section-filter-empty{font-size:12px;color:var(--ink-500);padding:8px 12px}.trade-add{display:grid;grid-template-columns:1fr 36px;gap:6px;margin-top:4px}.trade-add input{height:36px;padding:0 12px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:13px;transition:border-color .16s,background .16s}.trade-add input:focus{border-color:var(--accent);background:var(--surface-panel)}.sidebar-footer{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-500);margin-top:12px;padding:10px 4px 0;border-top:1px solid var(--hairline)}.sidebar-footer .pulse{width:6px;height:6px;border-radius:50%;background:var(--status-dn);box-shadow:0 0 8px var(--status-dn);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.workspace{display:flex;flex-direction:column;gap:16px;min-width:0;min-height:0}[data-density=compact] .workspace{gap:12px}.topbar{position:relative;display:flex;align-items:center;gap:10px;height:var(--topbar-h);min-height:var(--topbar-h);--bar-pad: 14px;padding:0 var(--bar-pad);padding-right:calc(var(--bar-pad) + var(--titlebar-reserve, 140px));border-radius:var(--radius-lg);flex-wrap:nowrap;overflow:hidden;-webkit-app-region:drag;app-region:drag}.topbar button,.topbar input,.topbar label,.topbar .segmented,.topbar .zoom-group,.topbar .topbar-pill,.topbar .sync-chip,.topbar .lic-chip{-webkit-app-region:no-drag;app-region:no-drag}:root{--titlebar-reserve: calc(100vw - env(titlebar-area-width, calc(100vw - 140px) ) - env(titlebar-area-x, 0px)) }.titlebar-reserve{display:none}.topbar-brand{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px 0 6px;border-radius:var(--radius-pill);background:#ffffffeb;color:var(--ink-900);font-size:13px;font-weight:700;flex:0 0 auto}.topbar-brand img{width:20px;height:20px;border-radius:6px;display:block}[data-palette=dark] .topbar-brand{background:#ffffff24;color:#fff}.topbar-gap{flex:1 1 auto;min-width:4px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.topbar-title{display:inline-flex;align-items:center;gap:6px;margin-left:-8px;padding:4px 10px 4px 8px;border-radius:8px;border:1px solid transparent;cursor:text;transition:background .16s,border-color .16s,box-shadow .16s;max-width:100%}.topbar-title svg{color:var(--ink-500);opacity:0;transform:translate(-2px);transition:opacity .16s,transform .16s;flex:0 0 auto}.topbar-title:hover{background:var(--glass-tint);border-color:var(--glass-border)}.topbar-title:hover svg{opacity:.9;transform:translate(0)}.topbar-title:focus-within{background:var(--glass-tint-strong);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.topbar-title:focus-within svg{opacity:1;transform:translate(0);color:var(--accent)}.topbar-title-input{font-size:18px;font-weight:600;letter-spacing:-.01em;width:100%;min-width:0;padding:0;border:0;background:transparent;color:inherit;outline:none}.topbar-title-input::placeholder{color:var(--ink-500)}.topbar .crumbs,.topbar-left .crumbs{font-size:12px;color:#ffffffd1;display:flex;align-items:center;gap:6px;padding:0 4px}.topbar .crumbs .sep,.topbar-left .crumbs .sep{opacity:.5}.topbar .crumbs{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap}.topbar .crumbs>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .crumbs .num{font-family:var(--font-mono)}.topbar .topbar-title{flex:0 1 auto;min-width:150px}.topbar .segmented,.topbar .topbar-right{flex:0 0 auto}.topbar .sync-chip{flex:0 0 auto;min-width:78px;height:28px;padding:0 11px;border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--accent-press);font:600 11.5px/1 var(--font-mono)}.topbar .sync-chip.is-offline{background:var(--surface-quieter);font-family:var(--font-ui)}.topbar .dirty-chip{flex:0 0 auto;display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--accent-press);font-size:11.5px;font-weight:700}.segmented{display:inline-flex;padding:4px;border-radius:12px;background:var(--glass-tint);border:1px solid var(--glass-border);gap:2px}.segmented button{height:32px;padding:0 14px;border-radius:9px;font-size:13px;font-weight:500;color:var(--ink-500);display:inline-flex;align-items:center;gap:7px;transition:background .16s,color .16s,box-shadow .16s}.segmented button.active{background:var(--glass-tint-strong);color:var(--ink-900);box-shadow:0 1px 2px #14183c14,inset 0 1px #ffffffb3}.topbar-right{display:flex;justify-content:flex-end;align-items:center;gap:8px}.zoom-group{display:inline-flex;align-items:center;gap:8px;padding:4px 8px 4px 4px;border-radius:12px;background:var(--glass-tint);border:1px solid var(--glass-border);height:36px}.zoom-group .pct{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-700);min-width:36px;text-align:center}.zoom-group input[type=range]{width:88px;accent-color:var(--accent)}@media(max-width:1380px){.zoom-group input[type=range]{width:60px}}.zoom-group .iconbtn{width:26px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--ink-700)}.zoom-group .iconbtn:hover{background:var(--glass-tint-strong);color:var(--ink-900)}.workspace-body{flex:1;display:grid;grid-template-columns:1fr 290px;gap:16px;min-height:0}[data-density=compact] .workspace-body{grid-template-columns:1fr 260px;gap:12px}.canvas-panel{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.canvas-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--hairline);flex:0 0 auto}.canvas-view{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink-500)}.canvas-hint{font:600 11px/1 var(--font-mono);letter-spacing:.06em;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.canvas-armed{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 11px;border-radius:var(--radius-pill, 999px);background:var(--status-ip-soft, #fff3e0);color:var(--status-ip-ink, #8a5600);font-size:11.5px;font-weight:600;white-space:nowrap;flex:0 0 auto}.canvas-pill{flex:0 0 auto;height:30px;padding:0 13px;font-size:12.5px}.canvas-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid var(--hairline);flex:0 0 auto}.canvas-legend-key{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-700)}.canvas-legend-key i{width:9px;height:9px;border-radius:3px;flex:none}.canvas-legend-key i[data-k=dn]{background:var(--status-dn)}.canvas-legend-key i[data-k=ip]{background:var(--status-ip)}.canvas-legend-key i[data-k=ns]{background:var(--status-ns-soft);border:1px solid var(--hairline)}.canvas-legend-key i[data-k=pass]{background:var(--status-dn, #2bb673)}.canvas-legend-key i[data-k=fail]{background:var(--status-target, #e5484d)}.canvas-legend-key i[data-k=na]{background:var(--swatch-slate, #94a3b8)}.canvas-legend-key i[data-k=tg]{background:transparent;border:2px solid var(--status-target)}.canvas-legend-hint{font-size:11.5px;color:var(--ink-500)}.canvas-wrap{position:relative;flex:1;overflow:auto;min-width:0;min-height:0;scrollbar-width:thin;background:linear-gradient(180deg,var(--surface-panel),var(--surface-quieter))}.canvas-wrap::-webkit-scrollbar{width:10px;height:10px}.canvas-wrap::-webkit-scrollbar-track{background:transparent}.canvas-wrap::-webkit-scrollbar-thumb{background:#14183c2e;border-radius:8px;border:2px solid transparent;background-clip:content-box}.canvas-wrap::-webkit-scrollbar-thumb:hover{background-color:#14183c52;background-clip:content-box}.canvas-stage{position:relative;min-width:100%;min-height:100%;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.5),transparent 50%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.4),transparent 50%)}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,rgba(20,24,60,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(20,24,60,.05) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 80% 80% at center,black 40%,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 80% 80% at center,black 40%,transparent 90%)}[data-palette=dark] .canvas-grid{background-image:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px)}.canvas-frame{position:relative;width:92%;aspect-ratio:16/10;border-radius:var(--radius-md);background:var(--surface-panel);border:1px solid var(--hairline);overflow:hidden}.canvas-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.unit{position:absolute;display:grid;place-items:center;font-size:11px;font-weight:600;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow .2s ease,background .22s ease;border-radius:0;overflow:visible}.unit.dragging{transition:none;z-index:10;filter:brightness(1.06)}.unit-shape-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.unit-shape-svg polygon{fill:currentColor;stroke:#fff9;stroke-width:1.5;vector-effect:non-scaling-stroke}.unit.shape-diamond,.unit.shape-triangle{background:transparent!important;box-shadow:none!important;border-radius:0}.unit.shape-diamond[data-status=not_started],.unit.shape-triangle[data-status=not_started]{color:#ffffffb3}.unit.shape-diamond[data-status=in_progress],.unit.shape-triangle[data-status=in_progress]{color:#f5a524d9}.unit.shape-diamond[data-status=completed],.unit.shape-triangle[data-status=completed]{color:#2bb673d9}.unit.shape-diamond .unit-label,.unit.shape-triangle .unit-label{color:#fff;position:relative;z-index:1}.unit:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(255,255,255,calc(.7 * var(--glow-on))),rgba(255,255,255,calc(.1 * var(--glow-on))) 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.unit-label{position:relative;z-index:1;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 var(--unit-label-halo),0 -1px 0 var(--unit-label-halo),1px 0 0 var(--unit-label-halo),-1px 0 0 var(--unit-label-halo)}.unit[data-status=not_started]{--unit-label-halo: rgba(255, 255, 255, .85)}.unit[data-status=in_progress],.unit[data-status=completed],.unit[data-status=custom],.unit[data-status=qc]{--unit-label-halo: rgba(12, 20, 36, .45)}.unit[data-status=not_started]{background:#ffffff80;color:var(--ink-700);box-shadow:0 4px 12px #14183c14}.unit[data-status=in_progress]{background:linear-gradient(135deg,#f5a524d9,#f5a52499);color:#fff;box-shadow:0 6px 18px #f5a52459}.unit[data-status=completed]{background:linear-gradient(135deg,#2bb673d9,#2bb67399);color:#fff;box-shadow:0 6px 18px #2bb67366}.unit:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.05);z-index:4}.unit.selected{box-shadow:0 0 0 2px var(--accent),0 0 0 6px var(--accent-soft),0 8px 24px -6px var(--accent-glow);z-index:5}.unit.shape-rectangle{border-radius:2px}.unit.shape-rounded{border-radius:14px}.unit.shape-oval{border-radius:999px}.transformer{position:absolute;pointer-events:none;z-index:8}.transformer-border{position:absolute;top:0;right:0;bottom:0;left:0;border:1.4px solid var(--accent);border-radius:3px;box-shadow:0 0 0 1px #ffffff73,0 6px 22px -10px var(--accent)}.transformer-handle{position:absolute;width:5px;height:5px;background:#fff;border:1.4px solid var(--accent);border-radius:2px;transform:translate(-50%,-50%);pointer-events:auto;box-shadow:0 1px 4px #14183c40;transition:transform .12s ease,background .12s ease}.transformer-handle:hover,.transformer-handle.active{background:var(--accent);transform:translate(-50%,-50%) scale(1.25)}.transformer-rotate-line{position:absolute;left:50%;top:-22px;width:1.4px;height:22px;background:var(--accent);transform:translate(-50%);opacity:.7}.transformer-rotate{position:absolute;left:50%;top:-38px;width:22px;height:22px;border-radius:999px;background:#fff;border:1.4px solid var(--accent);display:grid;place-items:center;color:var(--accent);cursor:grab;transform:translate(-50%);pointer-events:auto;box-shadow:0 2px 8px #14183c33;transition:transform .12s ease}.transformer-rotate:hover{transform:translate(-50%) scale(1.12)}.transformer.rotating .transformer-rotate{cursor:grabbing;background:var(--accent);color:#fff}.transformer-readout{position:absolute;left:50%;bottom:-26px;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.5px;color:var(--accent);background:#ffffffd9;border:1px solid rgba(47,109,246,.25);padding:2px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;background:#ffffffeb}.inspector{position:relative;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto;padding:4px;margin:-4px}.inspector::-webkit-scrollbar{width:6px}.inspector::-webkit-scrollbar-thumb{background:var(--surface-panel);border-radius:3px}.panel{border-radius:var(--radius-lg);padding:18px}[data-density=compact] .panel{padding:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-head h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);display:flex;align-items:center;gap:8px}.panel-head .meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-500)}.summary{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:center;margin-bottom:16px}.ring{position:relative;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--status-dn) calc(var(--p) * 1%),var(--surface-quiet) 0);box-shadow:0 8px 24px -12px #08265059}.ring:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border-radius:50%;background:var(--surface-panel);border:1px solid var(--hairline)}.ring span{position:relative;z-index:1;font-family:JetBrains Mono,monospace;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ink-900)}.ring small{position:relative;z-index:1;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-500);margin-top:-2px}.summary-meta strong{display:block;font-size:14px;font-weight:600}.summary-meta span{display:block;margin-top:4px;font-size:12px;color:var(--ink-500)}.status-rows{display:grid;gap:6px}.status-row{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:13px}.status-row .swatch{width:10px;height:10px;border-radius:50%;box-shadow:0 0 6px currentColor}.status-row .swatch.ns{color:var(--status-ns);background:var(--status-ns)}.status-row .swatch.ip{color:var(--status-ip);background:var(--status-ip)}.status-row .swatch.dn{color:var(--status-dn);background:var(--status-dn)}.status-row .count{font-family:JetBrains Mono,monospace;font-weight:600;font-size:13px;color:var(--ink-700)}.status-palette{display:grid;gap:7px}.status-pick{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;padding:9px 11px;border-radius:12px;background:var(--surface-panel);border:1px solid var(--hairline);text-align:left;transition:transform .16s,box-shadow .16s;cursor:pointer}.status-pick.pick-ns{background:var(--status-ns-soft);border-color:var(--status-ns-soft)}.status-pick.pick-ip{background:var(--status-ip-soft);border-color:var(--status-ip-soft)}.status-pick.pick-dn{background:var(--status-dn-soft);border-color:var(--status-dn-soft)}.status-pick:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px #08265073}.status-pick.active{box-shadow:0 0 0 2px var(--accent),0 8px 20px -10px var(--accent-glow);border-color:transparent}.status-pick .swatch{width:14px;height:14px;border-radius:4px}.status-pick .swatch.ns{background:var(--status-ns)}.status-pick .swatch.ip{background:var(--status-ip)}.status-pick .swatch.dn{background:var(--status-dn)}.status-pick.pick-ns .label{color:var(--status-ns-ink)}.status-pick.pick-ip .label{color:var(--status-ip-ink)}.status-pick.pick-dn .label{color:var(--status-dn-ink)}.status-pick .label{font-size:13px;font-weight:600}.status-pick .label-sub{display:block;font-size:10.5px;font-weight:400;color:var(--ink-500);margin-top:1px}.status-pick .kbd{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:600;color:var(--ink-500);padding:2px 5px;border-radius:5px;background:var(--surface-quiet);border:0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool-grid button{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;height:40px;padding:0 12px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:13px;font-weight:500;color:var(--ink-900);transition:transform .16s,background .16s}.tool-grid button:hover:not(:disabled){background:var(--surface-panel);border-color:var(--ink-200);transform:translateY(-1px)}.tool-grid button.danger{color:#c1303a}[data-palette=dark] .tool-grid button.danger{color:#ff9ba0}.fields{display:grid;gap:10px;margin-top:14px}.field{display:grid;gap:6px}.field label{font-size:11px;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.08em}.field input[type=text],.field input[type=number],.field select{height:38px;padding:0 12px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:13px;color:var(--ink-900);transition:border-color .16s,background .16s}.field input:focus,.field select:focus{border-color:var(--accent);background:var(--surface-panel);outline:none}.field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 4.5L6 7.5L9 4.5' stroke='%23808a99' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.field select:hover{background-color:var(--surface-panel);border-color:var(--ink-200)}.field select option{background:#fff;color:#1a1d24}[data-palette=dark] .field select option{background:#1f2230;color:#e7eaf3}.coord-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;font-family:JetBrains Mono,monospace;font-size:11px}.coord-grid span{padding:6px 8px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);color:var(--ink-700);text-align:center}.field-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.field-grid-2 .field{display:flex;flex-direction:column;gap:4px}.field-grid-2 .field input{width:100%;height:34px;font-family:JetBrains Mono,monospace}.trade-tree,.trade-row{display:flex;flex-direction:column;gap:2px}.trade-row-main{position:relative;display:flex;align-items:center;gap:4px}.trade-chevron,.trade-chevron-spacer{width:18px;height:30px;display:grid;place-items:center;flex:0 0 18px;border:none;background:transparent;color:var(--ink-500);border-radius:6px;transition:transform var(--dur-base) var(--spring-snap),color var(--dur-fast) var(--ease-standard)}.trade-chevron:hover{color:var(--ink-900);background:var(--surface-quiet)}.trade-chevron.open{transform:rotate(90deg)}.trade-chevron.invisible{visibility:hidden;pointer-events:none}.trade-item{flex:1;min-width:0}.trade-row-actions{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;gap:2px;flex:0 0 auto;z-index:1}.trade-row-actions>*{opacity:0;transform:translate(6px);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.trade-row-main:hover .trade-row-actions>*,.trade-row-main:has(:focus-visible) .trade-row-actions>*{opacity:1;transform:none;pointer-events:auto}.trade-row-btn{width:26px;height:30px;display:grid;place-items:center;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-400);transition:background .16s,color .16s,border-color .16s}.trade-row-btn:hover{background:var(--surface-quiet);color:var(--ink-900);border-color:var(--hairline)}.trade-row-btn.danger:hover{color:#d4495c}.trade-row-btn svg{width:13px;height:13px}.trade-children{display:flex;flex-direction:column;gap:2px;margin:2px 0 4px 20px;padding-left:8px;border-left:1px solid var(--hairline);animation:section-open var(--dur-base) var(--spring-soft) both}.trade-row.child .trade-item{font-weight:400;color:var(--ink-600)}.trade-row.child .qc-tag{width:8px;height:8px;margin:0 6px;border-radius:50%;font-size:0;color:transparent;background:var(--ink-300)}.trade-row.child .sidebar-item.active .qc-tag{background:var(--ink-500)}.trade-sub-add{display:grid;grid-template-columns:1fr 32px;gap:4px;margin-top:2px}.trade-sub-add input{height:30px;padding:0 10px;border-radius:8px;background:var(--surface-quiet);border:1px dashed var(--ink-300);font-size:12px;transition:border-color .16s,background .16s}.trade-sub-add input:focus{border-style:solid;border-color:var(--accent);background:var(--surface-panel)}.trade-sub-add .btn{height:30px;width:32px;padding:0;display:grid;place-items:center}.trade-parent-select{height:38px;padding:0 12px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:13px;color:var(--ink-900);transition:border-color .16s,background .16s}.trade-parent-select:focus{border-color:var(--accent);background:var(--surface-panel)}.trade-parent-select:disabled{opacity:.55;cursor:not-allowed}.shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.shape-grid button{display:grid;place-items:center;height:40px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);color:var(--ink-700);transition:background .16s,color .16s,box-shadow .16s}.shape-grid button.active{background:var(--surface-panel);color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);border-color:transparent}.modal-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:32px;background:#061c3a6b;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);animation:veil-in var(--dur-base) var(--ease-standard) both}@keyframes veil-in{0%{opacity:0}to{opacity:1}}.modal{width:min(560px,100%);background:var(--surface-panel);box-shadow:var(--shadow-pop);border-radius:var(--radius-xl);padding:32px;position:relative;animation:modal-in var(--dur-slow) var(--ease-standard) both}@keyframes modal-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--surface-quiet);border:1px solid var(--hairline);color:var(--ink-700);transition:background .16s}.modal-close:hover{background:var(--surface-panel);border-color:var(--ink-300)}.modal h2{font-family:var(--font-ui);font-weight:800;font-size:24px;letter-spacing:var(--tracking-title);margin-bottom:8px}.modal h2 em{font-style:normal;color:var(--accent)}.modal-sub{color:var(--ink-500);font-size:14px;line-height:1.5;margin-bottom:24px}.upload{display:grid;place-items:center;gap:10px;height:220px;border-radius:var(--radius-md);background:var(--surface-quiet);border:1.5px dashed var(--hairline);color:var(--ink-500);cursor:pointer;transition:background .16s,border-color .16s;position:relative;overflow:hidden}.upload:hover{background:var(--surface-quiet);border-color:var(--accent)}.upload.filled{border-style:solid;padding:0;background:repeating-linear-gradient(45deg,#5b6cff0d 0,#5b6cff0d 8px,#5b6cff05 8px,#5b6cff05 16px),var(--surface-quiet);border-color:var(--accent)}.upload .filename{position:absolute;bottom:12px;left:12px;padding:6px 10px;border-radius:8px;background:var(--surface-panel);font-size:12px;font-family:JetBrains Mono,monospace;color:var(--ink-700)}.modal-actions{margin-top:28px;display:flex;justify-content:flex-end;gap:10px}.report-modal{position:relative;width:min(1100px,100%);max-height:88vh;border-radius:var(--radius-xl);padding:0;display:flex;flex-direction:column;overflow:hidden;animation:modal-in var(--dur-slow) var(--ease-standard) both}.report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;flex:0 0 auto;border-bottom:1px solid var(--hairline)}.report-head .left{display:flex;align-items:center;gap:12px;min-width:0}.report-title{font-size:17px;font-weight:800;letter-spacing:var(--tracking-title)}.report-sub{font-size:12px;color:var(--ink-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-head h3{font-size:14px;font-weight:600;letter-spacing:-.005em}.report-body{flex:1;overflow:auto;padding:28px;background:var(--surface-quieter)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 18px;border-radius:14px;font-size:13px;font-weight:500;color:var(--ink-900);background:var(--glass-tint-strong);border:1px solid var(--glass-border);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 18px 48px -12px #14183c40;z-index:200;animation:toast-in .24s cubic-bezier(.2,.8,.2,1) both;display:inline-flex;align-items:center;gap:10px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-panel);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}[data-density=compact] .home-hero{padding:24px 24px 20px}[data-density=compact] .panel,[data-density=compact] .sidebar{padding:14px}.canvas-bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;background:linear-gradient(180deg,#ffffff73,#ffffff26),repeating-linear-gradient(45deg,rgba(0,0,0,.025) 0 6px,transparent 6px 12px)}.report-bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.marquee{position:absolute;border:1.5px dashed var(--accent, #f5a524);background:#f5a52414;border-radius:6px;pointer-events:none}.lot-meta{margin-top:14px;padding:12px 13px;border-radius:14px;background:var(--surface-quiet);border:0}.lot-meta-head{font-weight:700;font-size:13px;color:var(--ink-900);margin-bottom:7px}.lot-meta-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0;color:var(--ink-500)}.lot-meta-row strong{font-weight:700;color:var(--ink-900);font-variant-numeric:tabular-nums}.lot-meta-row strong.num{font-weight:600;font-size:11.5px;color:var(--ink-700)}.pulse.dirty{background:var(--accent, #f5a524)!important;box-shadow:0 0 6px var(--accent, #f5a524)}.settings-modal{width:min(820px,94vw);padding:0;display:flex;flex-direction:column;max-height:min(690px,92vh);overflow:hidden}.settings-head{display:flex;align-items:center;gap:var(--space-3);padding:16px 22px;flex:0 0 auto;border-bottom:1px solid var(--hairline)}.settings-head .sec-icon[data-sec=settings]{background:linear-gradient(180deg,#b9c3d1,#5b6b80);border:0;color:#fff}.settings-title{font-size:19px;font-weight:800;letter-spacing:var(--tracking-title)}.settings-sub{font-size:12.5px;color:var(--ink-500)}.settings-close{position:static;flex:0 0 auto}.settings-modal .twk-body{display:grid;grid-template-columns:1fr 1fr;gap:4px 26px;align-items:start;padding:18px 22px 22px;overflow-y:auto;flex:1 1 auto;min-height:0}.twk-col{display:flex;flex-direction:column;gap:12px;min-width:0}@media(max-width:820px){.settings-modal .twk-body{grid-template-columns:1fr}}.twk-section{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500, #6b7280);margin-top:6px}.twk-section-note{font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-400, #8593a5)}.palette-picker{display:flex;gap:9px}.palette-pick{flex:1;display:flex;flex-direction:column;gap:6px;padding:0;border:0;background:none;cursor:pointer;font:inherit}.palette-swatch{display:block;width:100%;height:48px;border-radius:11px;background:linear-gradient(var(--field-angle),var(--field-band-1) 0 16%,var(--field-band-2) 16% 33%,var(--field-band-3) 33% 56%,var(--field-band-4) 56% 74%,var(--field-band-5) 74% 100%);border:1px solid var(--hairline);transition:box-shadow .16s,transform .16s}.palette-swatch[data-palette=light]{--field-band-1: var(--sky-band-1);--field-band-2: var(--sky-band-2);--field-band-3: var(--sky-band-3);--field-band-4: var(--sky-band-4);--field-band-5: var(--sky-band-5);--field-angle: 118deg}.palette-pick:hover .palette-swatch{transform:translateY(-1px)}.palette-pick span{font-size:11.5px;font-weight:600;text-align:center;color:var(--ink-500)}.palette-pick.active .palette-swatch{box-shadow:0 0 0 2px var(--surface-panel),0 0 0 4px var(--accent);border-color:transparent}.palette-pick.active span{color:var(--ink-900)}.settings-modal .modal-actions{margin-top:0;flex:0 0 auto;padding:14px 22px;border-top:1px solid var(--hairline);background:var(--surface-panel)}.twk-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;font-size:13px}.twk-row .twk-label{color:var(--ink-700, #29261b)}.twk-row .twk-control{display:flex;align-items:center;gap:8px}.twk-row .twk-control input[type=range]{width:160px}.twk-row .twk-val{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;min-width:42px;text-align:right;color:var(--ink-500, #6b7280)}.twk-toggle{width:36px;height:20px;border-radius:999px;background:#0000002e;border:none;padding:2px;cursor:pointer;transition:background .15s ease}.twk-toggle span{display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .18s ease}.twk-toggle.on{background:var(--accent, #f5a524)}.twk-toggle.on span{transform:translate(16px)}.twk-segmented{display:inline-flex;background:#0000000f;border-radius:8px;padding:2px}.twk-segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:4px 10px;font:inherit;font-size:12px;border-radius:6px;cursor:pointer;color:var(--ink-500, #6b7280)}.twk-segmented button.active{background:var(--surface-panel);color:var(--ink-700, #29261b);box-shadow:0 1px 2px #0000000f}:root{--status-target: var(--status-defect);--status-target-soft: rgba(229, 72, 77, .18);--swatch-rose: #f56579;--swatch-pink: #ed81bd;--swatch-amber: #f5a524;--swatch-orange: #f57f33;--swatch-lime: #8cc63f;--swatch-emerald: #2bb673;--swatch-teal: #21b3a8;--swatch-cyan: #33a8d9;--swatch-blue: #527cf2;--swatch-violet: #8b5cf6;--swatch-slate: #828ca6;--swatch-stone: #807870}[data-palette=dark]{--status-target-soft: rgba(255, 120, 124, .26);--swatch-rose: #ff7387;--swatch-amber: #ffb649;--swatch-emerald: #41cf86}.unit-target-ring{position:absolute;pointer-events:none;border:2px solid var(--status-target);box-shadow:0 0 0 2px var(--status-target-soft),0 6px 18px #e5484d2e;z-index:4;outline:none;background:transparent;border-radius:2px}.unit-target-ring.shape-rectangle{border-radius:2px}.unit-target-ring.shape-rounded{border-radius:14px}.unit-target-ring.shape-oval{border-radius:999px}.unit-target-ring.shape-diamond,.unit-target-ring.shape-triangle{border-radius:0;opacity:0}.unit-ip-tag-anchor{position:absolute;pointer-events:none;container-type:size;z-index:5}.unit-ip-tag{position:absolute;bottom:100%;right:0;margin-bottom:2px;font-size:clamp(9px,20cqmin,13px);line-height:1;font-weight:700;font-family:JetBrains Mono,monospace;letter-spacing:-.02em;color:#fff;background:var(--status-target, #e5484d);padding:.28em .4em;border-radius:.3em;box-shadow:0 2px 6px #00000040;white-space:nowrap;transform:rotate(calc(-1 * var(--rot, 0deg)));transform-origin:bottom right}.unit[data-status=custom]{background:var(--custom-fill, var(--ink-500));color:#fff;box-shadow:0 6px 18px #0000002e}.paint-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}.paint-section:first-of-type{margin-top:4px;padding-top:0;border-top:0}.paint-section-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin-bottom:8px}.paint-empty-hint{font-size:12px;color:var(--ink-500);margin:0 0 6px}.ip-chip-row{display:flex;flex-wrap:wrap;gap:5px}.ip-chip{height:28px;min-width:44px;padding:0 9px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:var(--surface-quiet);font-family:var(--font-mono);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink-700);transition:background .16s ease,color .16s ease,box-shadow .16s ease}.ip-chip:hover{background:var(--status-ip-soft);color:var(--status-ip-ink)}.ip-chip.active{background:var(--status-ip);color:#fff;box-shadow:0 4px 12px -4px #f5a52480}.swatch.tg{background:transparent;border:2px solid var(--status-target);width:12px;height:12px}.status-pick .swatch.tg{width:14px;height:14px}.target-pick.active .swatch.tg{box-shadow:0 0 0 3px var(--status-target-soft)}.custom-status-row{display:flex;align-items:center;gap:6px;padding:4px 0}.custom-status-pick{flex:1;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface-quiet);border:1px solid var(--hairline);padding:9px 11px;border-radius:12px;font:inherit;cursor:pointer;color:var(--ink-900);text-align:left}.custom-status-pick .swatch{width:12px;height:12px;border-radius:4px;display:inline-block}.custom-status-pick .label{font-size:13px;font-weight:600}.custom-status-pick .role-tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-family:JetBrains Mono,monospace}.custom-status-row.active .custom-status-pick{background:var(--surface-panel);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.swatch-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:4px}.swatch-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:30px;border-radius:8px;cursor:pointer;box-shadow:inset 0 0 0 1px #00000014;transition:transform .12s ease,box-shadow .16s ease}.swatch-pick:hover{transform:translateY(-1px)}.swatch-pick.active{box-shadow:0 0 0 2px var(--ink-900),0 0 0 4px #fff,inset 0 0 0 1px #00000014}.role-radio{display:flex;flex-direction:column;gap:6px}.role-radio label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--hairline);background:var(--surface-quiet);border-radius:10px;cursor:pointer;font-size:13px;color:var(--ink-700);transition:background .16s ease,border-color .16s ease}.role-radio label.active{background:var(--surface-panel);border-color:var(--accent)}.role-radio strong{color:var(--ink-900)}.manage-types-list{display:flex;flex-direction:column;gap:8px;max-height:360px;overflow-y:auto;margin-top:12px}.manage-types-row{display:grid;grid-template-columns:1fr auto 160px auto auto;gap:8px;align-items:center}.manage-types-row input,.manage-types-row select{height:34px;padding:0 10px;font:inherit;font-size:13px;background:var(--surface-quiet);border:1px solid var(--hairline);border-radius:8px;color:var(--ink-900)}.manage-types-usage{font-size:11px;color:var(--ink-500);font-family:JetBrains Mono,monospace;white-space:nowrap}.report-modal{width:min(1320px,100%)}.report-threepane{display:grid;grid-template-columns:minmax(260px,320px) minmax(220px,280px) 1fr;gap:0;padding:0;height:min(78vh,740px);overflow:hidden;background:var(--surface-panel)}.report-picker,.report-order-strip,.report-preview-pane{padding:14px 16px;overflow-y:auto;border:0;border-right:1px solid var(--hairline);border-radius:0}.report-picker{background:var(--surface-panel)}.report-order-strip{background:var(--surface-quieter)}.report-preview-pane{display:flex;flex-direction:column;min-width:0;border-right:0;background:var(--surface-quiet)}.report-picker-section{margin-bottom:18px}.report-checkbox{display:flex;align-items:center;gap:9px;padding:5px 4px;font-size:13px;font-weight:500;color:var(--ink-900);cursor:pointer;border-radius:6px}.report-checkbox:hover{background:var(--surface-quiet)}.report-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0;flex:0 0 auto;width:16px;height:16px;border-radius:5px;border:1.5px solid var(--ink-300);background:var(--surface-panel);cursor:pointer;display:grid;place-items:center;transition:background .14s,border-color .14s}.report-checkbox input[type=checkbox]:hover{border-color:var(--accent)}.report-checkbox input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.report-checkbox input[type=checkbox]:checked:after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}.report-checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.report-checkbox input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}.report-sub-title{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);margin:8px 0 2px 14px}.report-checkbox--indent{margin-left:14px}.report-order-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.report-order-row{display:grid;grid-template-columns:14px 18px 1fr auto auto;gap:6px;align-items:center;min-height:32px;padding:6px 10px;background:var(--surface-panel);border:1px solid var(--hairline);border-radius:9px;font-size:12.5px;font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none}.report-order-row:hover{border-color:var(--ink-300)}.report-order-row.selected{background:var(--accent-wash, var(--surface-quiet));border-color:var(--accent)}.report-order-row:active{cursor:grabbing}.report-order-handle{font-family:JetBrains Mono,monospace;color:var(--ink-500);font-weight:700;letter-spacing:-2px;font-size:11px}.report-order-num{font-family:JetBrains Mono,monospace;color:var(--ink-500);font-size:10px}.report-order-label{color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-arrow-btn{width:20px;height:20px;padding:0;border:1px solid var(--hairline);border-radius:5px;background:var(--surface-quiet);color:var(--ink-700);cursor:pointer;font-size:11px;line-height:1}.order-arrow-btn:hover:not(:disabled){background:var(--surface-panel);border-color:var(--ink-300)}.order-arrow-btn:disabled{opacity:.35;cursor:not-allowed}.report-preview-paper{flex:1;margin-top:8px;background:var(--surface-quiet);border:1px solid var(--hairline);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:280px}.report-preview-frame{width:100%;height:100%;border:0;background:#fff}.report-preview-empty{color:var(--ink-500);font-size:13px;text-align:center;padding:20px}.report-btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:report-spin .7s linear infinite;vertical-align:middle;margin-right:4px}@keyframes report-spin{to{transform:rotate(360deg)}}.analysis-scroll{flex:1;min-width:0;overflow-y:auto;padding:16px}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.analysis-card{padding:18px}.analysis-card-wide{grid-column:span 2}@media(max-width:1100px){.analysis-card-wide{grid-column:1 / -1}}.analysis-doughnut{display:block;margin:12px auto 4px}.analysis-tradebars{display:flex;flex-direction:column;gap:6px;margin-top:12px}.analysis-tradebar{display:grid;grid-template-columns:110px 1fr 42px;gap:10px;align-items:center;font-size:12px}.analysis-tradebar.indent .name{padding-left:14px;color:var(--ink-500)}.analysis-tradebar .name{color:var(--ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-tradebar .bar{height:8px;background:var(--surface-quiet);border-radius:4px;overflow:hidden}.analysis-tradebar .fill{height:100%;background:linear-gradient(90deg,var(--status-dn),var(--status-ip));border-radius:4px}.analysis-tradebar .pct{font-family:JetBrains Mono,monospace;font-size:11px;text-align:right;color:var(--ink-700)}.analysis-table-wrap{overflow-x:auto;margin-top:10px}.analysis-table{width:100%;border-collapse:collapse;font-size:12px}.analysis-table th,.analysis-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--hairline);white-space:nowrap}.analysis-table th{position:sticky;top:0;z-index:1;background:var(--surface-panel);font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-500);font-weight:700}.analysis-table tbody tr:nth-child(2n){background:var(--surface-quieter)}.analysis-table tr.clickable:hover{background:var(--surface-quiet);cursor:pointer}.analysis-table .indent{padding-left:22px;color:var(--ink-500)}.analysis-table .td-done{color:var(--status-dn)}.analysis-table .td-ip{color:var(--status-ip)}.analysis-table .td-ns{color:var(--ink-500)}.pace-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:6px;font-weight:600}.pace-badge.ahead{background:#2bb6732e;color:#1f7d54}.pace-badge.behind{background:#e23a3a2e;color:#b53030}[data-palette=dark] .pace-badge.ahead{color:#5fe19c}[data-palette=dark] .pace-badge.behind{color:#ff9090}.custom-status-section{margin-top:14px}.custom-status-section-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.custom-status-section-head .swatch{width:12px;height:12px;border-radius:4px}.custom-status-section-head .role-tag{font-size:10px;text-transform:uppercase;color:var(--ink-500);font-family:JetBrains Mono,monospace}.custom-status-section-head .meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-500)}.custom-status-lot-list{list-style:none;margin:0;padding:0 0 0 4px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px;font-size:12px;color:var(--ink-700)}.target-history-axis{display:grid;grid-template-columns:repeat(var(--n, 1),1fr);margin-top:12px;margin-left:110px;font-size:10px;color:var(--ink-500);font-family:JetBrains Mono,monospace}.target-history-axis span{text-align:center}.target-history-chart{display:flex;flex-direction:column;gap:6px;margin-top:6px}.target-history-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;font-size:12px}.target-history-row .name{color:var(--ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-body:has(>.analysis-scroll),.workspace-body:has(>.analysis-view){grid-template-columns:1fr}.analysis-view,.workspace-body>.analysis-scroll{grid-column:1 / -1}.unit[data-status=qc]{background:var(--qc-fill, var(--ink-500));color:#fff;box-shadow:0 6px 18px #0000002e}.unit.shape-diamond[data-status=qc],.unit.shape-triangle[data-status=qc]{color:var(--qc-fill, var(--ink-500));background:transparent;box-shadow:none}.unit[data-status=defect]{background:#e23a3a;color:#fff;box-shadow:0 6px 18px #e23a3a59}.unit.shape-diamond[data-status=defect],.unit.shape-triangle[data-status=defect]{color:#e23a3a;background:transparent;box-shadow:none}.defect-count-badge{position:absolute;top:-7px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#b91c1c;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 4px #00000059;pointer-events:none}.defect-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-500);margin-bottom:8px}.defect-unit-modal{width:min(560px,92vw)}.defect-dialog-sub{font-size:12px;color:var(--ink-500);margin-bottom:12px}.defect-entry-list{display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow-y:auto;padding-right:4px}.defect-entry-row{display:flex;align-items:flex-start;gap:10px;padding:8px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-quiet)}.defect-thumb{width:84px;height:63px;object-fit:cover;border-radius:6px;flex:none;background:var(--surface-quiet)}.defect-thumb-missing{display:flex;align-items:center;justify-content:center;color:var(--ink-400, var(--ink-500))}.defect-entry-fields{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.defect-entry-fields input,.defect-entry-fields textarea{width:100%;font-size:12px}.defect-entry-fields textarea{resize:vertical}.defect-entry-delete{flex:none;margin-top:2px}.qc-tag{width:20px;height:20px;flex:0 0 auto;display:inline-grid;place-items:center;font-size:8.5px;font-weight:700;letter-spacing:.02em;border-radius:6px;background:var(--status-dn-soft, #cbf0dc);color:var(--status-dn-ink, #136b45)}.qc-tag.defect-tag{background:var(--status-defect-soft, #ffd8da);color:var(--status-defect-ink, #a3151b)}.qc-tag.test-tag{background:var(--status-ip-soft, #ffe9c7);color:var(--status-ip-ink, #8a5600)}.qc-tag.trade-tag{background:#c6e4ffe6;color:#0f5aa8}[data-palette=dark] .qc-tag.trade-tag{background:#143052e6;color:#8ecbff}.qc-tag.trade-tag svg{width:12px;height:12px}.trade-row.child .qc-tag.trade-tag svg{display:none}.test-count-badge{background:#0369a1}.test-entry-typerow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.test-type-select{flex:1 1 130px;min-width:0;font-size:12px}.test-result-toggle{display:inline-flex;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;flex:none}.test-result-btn{border:none;background:transparent;padding:4px 9px;font-size:11px;font-weight:700;cursor:pointer;color:var(--ink-500);border-left:1px solid var(--hairline)}.test-result-btn:first-child{border-left:none}.test-result-btn:hover:not(.active){background:var(--surface-quiet);color:var(--ink-900)}.test-result-btn.result-pass.active{background:var(--status-dn-soft, #e4f7ee);color:var(--status-dn-ink, #136b45)}.test-result-btn.result-fail.active{background:var(--status-target, #e5484d);color:#fff}.test-result-btn.result-na.active{background:var(--surface-quiet, #f4f6fa);color:var(--ink-500, #5b6b80)}.test-entry-meta{display:flex;gap:6px}.test-entry-meta input{flex:1 1 0;min-width:0;font-size:12px}.qc-readout{margin-top:12px;padding:12px 13px;border-radius:14px;background:var(--surface-quiet);font-size:13px;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.qc-readout-title{flex:1 0 100%;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500)}.qc-readout-figure{flex:1 0 100%;display:flex;align-items:baseline;gap:8px;margin-top:6px;flex-wrap:wrap}.qc-readout-avg{font-size:28px;font-weight:600;color:var(--ink-900)}.qc-readout strong{font-size:16px}.qc-readout-empty{color:var(--ink-500)}.qc-readout-sub{margin-left:auto;font-size:12px;color:var(--ink-500)}.qc-readout-figure .qc-readout-sub{margin-left:0}.qc-score-modal{min-width:min(400px,100%)}.qc-score-stage-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--surface-quiet));font-size:13px;font-weight:600;margin-bottom:10px}.qc-score-stage-chip .swatch,.qc-score-context-item .swatch,.qc-stage-picker-item .swatch,.qc-trend-legend-item .swatch,.qc-tooltip-row .swatch{width:11px;height:11px;border-radius:4px;display:inline-block;flex:0 0 auto}.qc-score-editing{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.qc-score-error{display:block;margin-top:6px;font-size:12px;color:var(--status-tg, #e94444)}.qc-score-context{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px}.qc-score-context-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-600, var(--ink-700));padding:3px 8px;border-radius:999px;background:var(--surface-quiet))}.qc-stage-picker{display:flex;flex-direction:column;gap:6px}.qc-stage-picker-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-lg, 10px);border:1px solid var(--surface-quiet));background:var(--surface-quiet));cursor:pointer;font-size:13px;color:inherit}.qc-stage-picker-item:hover{background:var(--surface-quiet)}.qc-history-link{background:none;border:none;padding:0;margin-top:6px;font-size:12px;color:var(--accent, #6366f1);cursor:pointer;text-decoration:underline}.qc-history-list{margin-top:8px;display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto}.qc-history-row{display:flex;align-items:baseline;gap:10px;font-size:11.5px;color:var(--ink-600, var(--ink-700));padding:5px 9px;border-radius:8px;background:var(--surface-quiet)}.qc-history-row strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.qc-history-row.current{outline:1px solid var(--accent, #6366f1)}.qc-history-action{margin-left:auto;font-size:10px;color:var(--ink-500)}.qc-tooltip{position:absolute;transform:translate(-50%,8px);z-index:40;min-width:220px;max-width:320px;padding:10px 12px;border-radius:var(--radius-lg, 12px);background:var(--surface-panel);border:1px solid var(--hairline);box-shadow:var(--shadow-pop, 0 10px 30px rgba(10, 14, 40, .25));font-size:12px;pointer-events:auto}.qc-tooltip-head{font-weight:700;margin-bottom:6px}.qc-tooltip-entry+.qc-tooltip-entry{margin-top:6px}.qc-tooltip-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.qc-tooltip-stage{font-weight:600}.qc-tooltip-row strong{font-family:JetBrains Mono,monospace}.qc-tooltip-meta{color:var(--ink-500);font-size:11px}.qc-tooltip .qc-history-link{margin-top:0;margin-left:auto}.qc-color-input{width:34px;height:34px;padding:2px;border:1px solid var(--hairline, rgba(15, 32, 60, .09));border-radius:8px;background:transparent;cursor:pointer;flex:0 0 auto}.qc-trend-modal{min-width:min(820px,96vw)}.qc-trend-body{display:grid;grid-template-columns:200px 1fr;gap:18px;margin-top:8px}.qc-trend-picker{max-height:340px;overflow-y:auto}.qc-trend-chart-pane{min-height:280px}.qc-trend-chart{width:100%;height:auto}.qc-grid-line{stroke:var(--ink-300, rgba(120, 130, 160, .25));stroke-width:.6}.qc-grid-label,.qc-axis-label,.qc-bar-label{fill:var(--ink-500, #7c86a2);font-size:9px;font-family:JetBrains Mono,monospace}.qc-bar-label{fill:var(--ink-700, #3d4666);font-weight:600}.qc-trend-empty{color:var(--ink-500);font-size:13px;padding-top:40px;text-align:center}.qc-trend-tip{margin-top:8px;font-size:12px}.qc-trend-note{font-size:11px;color:var(--ink-500);margin-top:6px}.qc-trend-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.qc-trend-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px}.sidebar-section.collapsed{flex:0 0 auto}.sidebar-section.grow>.sidebar-list,.sidebar-section.grow>.trade-add,.sidebar-section.grow>.section-filter{animation:section-open var(--dur-slow) var(--spring-soft) both}@keyframes section-open{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.trade-section .sidebar-list{min-height:0;flex:none;overflow:visible}.section-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:4px;border-radius:8px;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.section-toggle:hover{background:var(--surface-quiet);color:var(--ink-900)}.section-toggle:active{transform:scale(.99)}.section-chevron{display:grid;place-items:center;width:14px;height:14px;transition:transform var(--dur-base) var(--spring-snap)}.section-chevron svg{width:12px;height:12px}.section-chevron.open{transform:rotate(90deg)}.section-count{margin-left:auto;font-family:JetBrains Mono,monospace;text-transform:none}.qc-sub-rows{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.qc-sub-row{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:10px}.qc-sub-row .qc-sub-label{font-size:13px;color:var(--ink-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qc-sub-row input{height:32px;padding:0 10px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-family:JetBrains Mono,monospace;font-size:13px}.qc-sub-row input:focus{border-color:var(--accent)}.qc-sub-row.inactive .qc-sub-label{color:var(--ink-500);text-decoration:line-through}.qc-stage-block{display:flex;flex-direction:column}.qc-stage-block>.manage-types-row{grid-template-columns:auto auto 1fr auto auto auto auto}.qc-sub-count{font-size:11px;color:var(--ink-500);font-family:JetBrains Mono,monospace;white-space:nowrap}.qc-sub-list{display:flex;flex-direction:column;gap:4px;margin:2px 0 8px 26px;padding-left:10px;border-left:1px solid var(--hairline)}.qc-sub-manage-row{grid-template-columns:auto 1fr auto auto auto}.qc-sub-bullet{width:8px;height:8px;border-radius:3px;flex:none}.qc-sub-add{display:grid;grid-template-columns:1fr 32px;gap:6px}.qc-sub-add input{height:30px;padding:0 10px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px}.qc-sub-add input:focus{border-color:var(--accent)}.qc-tooltip-subs{display:flex;flex-wrap:wrap;gap:4px 10px;margin:2px 0 4px 18px}.qc-tooltip-sub{font-size:11px;color:var(--ink-500);font-family:JetBrains Mono,monospace}.analysis-view{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.analysis-tabs{display:flex;gap:6px;padding:12px 16px 0}.analysis-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 16px;border-radius:10px 10px 0 0;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-on-field, #fff);background:var(--glass-tint-weak);border:1px solid var(--glass-border);border-bottom:none}.analysis-tab{transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.analysis-tab.active{color:var(--accent);background:var(--surface-panel)}.analysis-tab:hover:not(.active){background:var(--surface-glass-strong)}.analysis-view>.analysis-scroll{animation:analysis-tab-in var(--dur-base) var(--ease-standard) both}@keyframes analysis-tab-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.analysis-view .analysis-scroll{padding-top:12px}.card-export{display:inline-flex;gap:4px;margin-left:10px}.card-export-btn{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:7px;font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--ink-500);background:var(--surface-quiet);border:1px solid var(--hairline)}.card-export-btn:hover:not(:disabled){color:var(--accent);background:var(--surface-quiet)}.card-export-btn:disabled{opacity:.55}.card-export-btn svg{width:12px;height:12px}.card-export-btn .report-btn-spinner{width:10px;height:10px;border-width:2px;margin-right:0}.exporting .card-export{display:none}.quality-header{margin:0 0 14px;padding:16px 18px}.quality-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.quality-header-row h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);display:flex;align-items:center;gap:8px}.quality-contractor{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-500)}.quality-contractor input{height:30px;min-width:220px;padding:0 10px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px}.quality-contractor input:focus{border-color:var(--accent)}.quality-empty-tip{margin-top:10px;font-size:13px;color:var(--ink-500);max-width:640px}.quality-month-picker{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px}.quality-month-label{font-size:12px;color:var(--ink-500);margin-right:2px}.quality-month-chip{height:26px;padding:0 12px;border-radius:13px;font-size:11px;font-weight:600;color:var(--ink-500);background:var(--surface-quiet);border:1px solid var(--hairline)}.quality-month-chip:hover{background:var(--surface-quiet)}.quality-month-chip.active{color:#fff;background:var(--accent);border-color:var(--accent)}.quality-dup-warning{margin-top:10px;font-size:12px;color:var(--status-ip)}.rag-chip{display:inline-block;padding:2px 8px;border-radius:9px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.rag-chip.rag-green{background:#2bb6732e;color:#1f7d54}.rag-chip.rag-amber{background:#f5a5242e;color:#a06a10}.rag-chip.rag-red{background:#e23a3a2e;color:#b53030}[data-palette=dark] .rag-chip.rag-green{color:#5fe19c}[data-palette=dark] .rag-chip.rag-amber{color:#ffca70}[data-palette=dark] .rag-chip.rag-red{color:#ff9090}.rag-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}.rag-dot.rag-green{background:var(--status-dn)}.rag-dot.rag-amber{background:var(--status-ip)}.rag-dot.rag-red{background:#e23a3a}.rag-text.rag-green{color:#1f7d54}.rag-text.rag-amber{color:#a06a10}.rag-text.rag-red{color:#b53030}[data-palette=dark] .rag-text.rag-green{color:#5fe19c}[data-palette=dark] .rag-text.rag-amber{color:#ffca70}[data-palette=dark] .rag-text.rag-red{color:#ff9090}.score-cell{display:inline-grid;place-items:center;min-width:40px;height:26px;padding:0 6px;border-radius:7px;font-family:var(--font-mono);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--surface-quiet);color:var(--ink-700)}.score-cell.rag-green{background:var(--status-dn-soft);color:var(--status-dn-ink)}.score-cell.rag-amber{background:var(--status-ip-soft);color:var(--status-ip-ink)}.score-cell.rag-red{background:var(--status-defect-soft);color:var(--status-defect-ink)}.threshold-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 2px 2px;margin-top:8px;border-top:1px solid var(--hairline)}.threshold-legend-title{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500)}.threshold-legend-key{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-700)}.threshold-legend-note{margin-left:auto;font-size:12px;color:var(--ink-500)}.delta-badge{display:inline-block;padding:1px 7px;border-radius:8px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.delta-badge.up{background:#2bb67329;color:#1f7d54}.delta-badge.down{background:#e23a3a29;color:#b53030}.delta-badge.flat{background:var(--surface-quiet);color:var(--ink-500)}[data-palette=dark] .delta-badge.up{color:#5fe19c}[data-palette=dark] .delta-badge.down{color:#ff9090}.quality-scorecard-headline{display:flex;align-items:center;gap:14px;margin-bottom:14px}.quality-big{font-size:40px;font-weight:700;font-family:JetBrains Mono,monospace;line-height:1}.quality-big.rag-green{color:var(--status-dn)}.quality-big.rag-amber{color:var(--status-ip)}.quality-big.rag-red{color:#e23a3a}.quality-headline-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-500)}.quality-noscores{color:var(--ink-500);font-size:14px}.quality-blank{color:var(--ink-400, var(--ink-500))}.quality-list-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-500);margin-bottom:6px}.quality-list-empty{font-size:12px;color:var(--ink-500)}.quality-rank-list{list-style:none;display:flex;flex-direction:column;gap:5px;counter-reset:rank}.quality-rank-list li{display:flex;align-items:center;gap:8px;font-size:12px;counter-increment:rank}.quality-rank-list li:before{content:counter(rank) ".";font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-400, var(--ink-500));width:18px;flex:none}.quality-rank-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quality-rank-label.sub{color:var(--ink-500)}.quality-outstanding-wrap{display:flex;flex-direction:column;gap:14px;max-height:340px;overflow-y:auto;padding-right:4px}.quality-outstanding-head{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.quality-outstanding-head .meta{margin-left:auto}.quality-outstanding-row{display:flex;align-items:baseline;gap:10px;padding:3px 0 3px 18px;font-size:12px}.quality-outstanding-sub{flex:none;width:150px;color:var(--ink-500);display:flex;flex-direction:column;gap:1px}.quality-outstanding-count{font-size:10px;color:var(--ink-400, var(--ink-500))}.quality-outstanding-units{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.quality-unit-chip{display:inline-block;padding:1px 8px;border-radius:9px;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:600;color:var(--ink-600, var(--ink-500));background:var(--surface-quiet);border:1px solid var(--hairline)}.quality-outstanding-never{display:flex;align-items:baseline;gap:10px;padding-top:10px;border-top:1px solid var(--hairline);font-size:12px}.quality-outstanding-never strong{flex:none;color:var(--status-tg, #b53030)}.quality-matrix td,.quality-matrix th{white-space:nowrap}.quality-matrix th.dup-col{color:var(--status-ip)}.quality-matrix-stage td:first-child{display:flex;align-items:center;gap:6px}.quality-matrix-sub td{color:var(--ink-500);font-size:12px}.quality-sub-indent{padding-left:34px}.quality-chevron-spacer{display:inline-block;width:22px;flex:none}.quality-matrix-note{margin-top:10px;font-size:11px;color:var(--ink-500)}.sidebar-item:not(.sidebar-item--2line):has(.qc-month-chip){grid-template-columns:auto 1fr auto auto}.qc-month-chip{font-size:9px;font-weight:600;padding:1px 6px;border-radius:7px;background:var(--surface-quiet);border:1px solid var(--hairline);color:var(--ink-500);flex:none}.qc-soft-warning{display:block;margin-top:5px;font-size:11px;color:var(--status-ip)}.qc-thresholds{margin-top:16px;padding-top:14px;border-top:1px solid var(--hairline)}.qc-thresholds-hint{font-size:11px;color:var(--ink-500);margin:4px 0 10px}.qc-thresholds-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.qc-thresholds-row label{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-700)}.qc-thresholds-row input{width:74px;height:30px;padding:0 8px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px;font-family:JetBrains Mono,monospace}.qc-thresholds-row input:focus{border-color:var(--accent)}.qc-thresholds-red{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--ink-500)}.report-compare-months{margin:4px 0 2px 10px;padding-left:8px;border-left:2px solid var(--hairline)}.report-checkbox-sub{font-size:11px}.recent-card.is-comparing .recent-card__thumb{opacity:.85}.recent-card.is-compare-selected{outline:2px solid var(--accent);outline-offset:2px}.recent-card__compare-check{position:absolute;top:8px;left:8px;z-index:2;width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--surface-panel);border:1px solid var(--hairline);color:var(--accent);pointer-events:none}.recent-card.is-compare-selected .recent-card__compare-check{background:var(--accent);color:#fff;border-color:var(--accent)}.home-compare-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px;color:var(--ink-500)}.home-compare-modal{min-width:min(860px,94vw);max-width:94vw;max-height:90vh;overflow-y:auto}.home-compare-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding-right:34px}.home-compare-body{display:flex;flex-direction:column;gap:14px}.home-compare-loading{color:var(--ink-500);font-size:13px}.home-compare-table td,.home-compare-table th{white-space:nowrap}.home-compare-note{font-size:11px;color:var(--ink-500)}.lot-photo-badge{position:absolute;top:-7px;right:-7px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#2563eb;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 4px #00000059;pointer-events:none}.defect-count-badge+.lot-photo-badge,.defect-count-badge~.lot-photo-badge{right:auto;left:-7px}.lot-photo-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding-right:2px}.lot-photo-row{display:flex;align-items:center;gap:8px}.lot-photo-thumb{width:46px;height:34px;object-fit:cover;border-radius:6px;flex:none;background:var(--surface-quiet)}.lot-photo-thumb-missing{display:flex;align-items:center;justify-content:center;color:var(--ink-400, var(--ink-500))}.lot-photo-row input{flex:1;min-width:0;font-size:12px}.lightbox-modal{width:min(860px,92vw)}.lightbox-stage{display:flex;align-items:center;justify-content:center;gap:10px;min-height:200px}.lightbox-img{max-width:calc(100% - 88px);max-height:68vh;border-radius:10px;background:var(--glass-tint)}.lightbox-nav{flex:none;width:34px;height:34px;border-radius:50%;font-size:20px;line-height:1;color:var(--ink-700, var(--ink-500));background:var(--glass-tint-strong);border:1px solid var(--glass-border);cursor:pointer}.lightbox-nav:hover{background:var(--glass-tint)}.lightbox-missing{display:flex;align-items:center;gap:8px;justify-content:center;padding:40px 0;color:var(--ink-500);font-size:13px}.lightbox-caption{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:10px;font-size:13px}.pin-modal{width:min(820px,92vw)}.pin-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.pin-tab{height:26px;padding:0 12px;border-radius:13px;font-size:11px;font-weight:600;color:var(--ink-500);background:var(--surface-quiet);border:1px solid var(--hairline);cursor:pointer}.pin-tab.active{color:#fff;background:var(--accent, #6366f1);border-color:var(--accent, #6366f1)}.pin-canvas-wrap{display:flex;justify-content:center;max-height:62vh;overflow:auto}.pin-canvas{position:relative;display:inline-block;cursor:crosshair}.pin-canvas img{display:block;max-width:100%;max-height:60vh;border-radius:8px}.pin-marker{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;background:#e23a3a;border:2px solid white;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 5px #0006;pointer-events:none}.pin-marker.dim{opacity:.45}.defect-entry-row{flex-direction:column}.defect-entry-main{display:flex;align-items:flex-start;gap:10px;width:100%}.defect-entry-num{flex:none;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--surface-panel);border:1px solid var(--hairline);font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;color:var(--ink-700, var(--ink-500));margin-top:2px}.defect-entry-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.defect-pin-btn{white-space:nowrap;font-size:11px}.defect-pin-btn.pinned{color:#fff;background:#e23a3a;border-color:#e23a3a}.defect-reply{width:100%;margin-top:4px;padding:8px;border-radius:8px;background:var(--surface-quiet);border:1px dashed var(--hairline)}.defect-reply-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.defect-reply-head label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.defect-reply-head input[type=date]{height:26px;padding:0 8px;font-size:11px;border-radius:7px;background:var(--surface-quiet);border:1px solid var(--hairline)}.defect-reply-body{display:flex;align-items:flex-start;gap:8px}.defect-reply-body textarea{flex:1;min-width:0;font-size:12px;resize:vertical}.defect-reply-thumb-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex:none}.defect-reply-thumb{width:64px;height:48px}.defect-page-modal{width:min(560px,92vw)}.defect-detail-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.defect-detail-row{display:flex;align-items:center;gap:6px}.defect-detail-row input{flex:1;min-width:0;font-size:12px}.defect-detail-row input:first-child{flex:0 0 34%}.logo-control{margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}.logo-control-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.logo-control-head label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.logo-control-head .meta{font-size:10px}.logo-control-row{display:flex;align-items:center;gap:8px}.logo-control-thumb{width:64px;height:30px;object-fit:contain;border-radius:6px;flex:none;background:var(--surface-quiet);border:1px solid var(--hairline)}.logo-control-empty{display:flex;align-items:center;justify-content:center;color:var(--ink-400, var(--ink-500))}.workbench[data-sidebar=rail]{grid-template-columns:52px 1fr}.sidebar-rail{padding:12px 8px;gap:10px;align-items:center}.rail-btn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:var(--ink-700);flex:none}.rail-btn:hover{background:var(--glass-tint-strong);color:var(--ink-900, var(--ink-700))}.rail-footer{margin-top:auto;display:grid;place-items:center;padding-bottom:4px}.rail-dot{width:8px;height:8px;border-radius:50%;background:var(--status-dn);box-shadow:0 0 6px var(--status-dn)}.rail-dot.dirty{background:var(--accent);box-shadow:0 0 6px var(--accent)}.sidebar-collapse-btn{display:none}@media(max-width:1099px){.sidebar-collapse-btn{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:8px;color:var(--ink-500);flex:none}.sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-collapse-btn:hover{background:var(--surface-quiet)}}@media(max-width:1059px){.workspace-body,[data-density=compact] .workspace-body{grid-template-columns:1fr 230px}}.btn-narrow-icon{display:none}@media(max-width:1960px){.topbar-right .btn .btn-label{display:none}.topbar-right .btn .btn-narrow-icon{display:inline-block}}@media(max-width:1650px){.topbar .zoom-group input[type=range]{display:none}.topbar .zoom-group{padding:4px}}@media(max-width:1550px){.topbar .topbar-alt{display:none}}@media(max-width:1520px){.topbar .crumb-detail{display:none}}@media(max-width:1360px){.topbar .crumbs,.topbar .chip-detail{display:none}}@media(max-width:1270px){.topbar .seg-label{display:none}.segmented button{padding:0 10px}}@media(max-width:1060px){.topbar .topbar-alt2{display:none}.topbar .topbar-title{min-width:118px}.topbar .sync-chip{min-width:68px}}@media(max-width:940px){.topbar .brand-word{display:none}.topbar-brand{padding:0 7px}}@media(max-width:880px){.topbar{--bar-pad: 8px;gap:6px}.topbar-right{gap:6px}.topbar-right .btn.btn-sm{padding:0 9px}}.modal{max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.modal>h2{position:sticky;top:-32px;z-index:3;margin:-32px -32px 0;padding:32px 32px 8px;border-radius:calc(var(--radius-xl) - 1px) calc(var(--radius-xl) - 1px) 0 0}.modal>.modal-actions{position:sticky;bottom:-32px;z-index:3;margin:16px -32px -32px;padding:12px 32px 32px;border-radius:0 0 calc(var(--radius-xl) - 1px) calc(var(--radius-xl) - 1px)}.modal>.modal-close{position:sticky;float:right;top:4px;margin:-14px -14px 0 0;z-index:4}@keyframes modal-sticky-chrome{0%,to{background:var(--surface-panel);box-shadow:0 1px 0 var(--hairline)}}.modal>h2,.modal>.modal-actions{animation:modal-sticky-chrome linear both;animation-timeline:scroll(nearest)}.ddlg-shell{display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;transform:translate(var(--ddlg-x, 0px),var(--ddlg-y, 0px))}.ddlg-grip{display:flex;align-items:center;gap:10px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.ddlg-shell.dragging .ddlg-grip{cursor:grabbing}.ddlg-grip>svg{flex:none;color:var(--ink-300);transition:color var(--dur-fast) var(--ease-standard)}.ddlg-grip:hover>svg{color:var(--ink-500)}body.dragging-dialog,body.dragging-dialog *{-webkit-user-select:none!important;user-select:none!important;cursor:grabbing!important}.report-modal{max-height:min(88vh,100%)}@media(max-width:999px){.report-threepane{grid-template-columns:minmax(180px,220px) minmax(160px,200px) 1fr}}@media(max-width:999px){.home{align-items:start}}@media(max-width:1099px){.analysis-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.qc-tag.markup-tag{background:#c6f0f3e6;color:#0b6b76}[data-palette=dark] .qc-tag.markup-tag{background:#0b3a40e6;color:#7ddfe0}.markup-noscale-chip{background:#eab3082e;color:#a16207}[data-palette=dark] .markup-noscale-chip{color:#facc15}.markup-import-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px}.markup-view{grid-column:1 / -1;display:flex;flex-direction:column;gap:10px;min-height:0;flex:1}.markup-toolbar{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border-radius:var(--radius-xl, 18px);flex:0 0 auto;flex-wrap:wrap}.markup-toolbar-group{display:flex;align-items:center;gap:4px}.markup-pill{padding:3px 6px;border-radius:var(--radius-pill, 999px);background:#ffffffe6;color:var(--ink-900)}[data-palette=dark] .markup-pill{background:#121a2bdb;color:var(--ink-900)}.markup-toolbar-title{gap:2px;padding-left:13px}.markup-pill .btn{background:transparent;border-color:transparent;color:var(--ink-700)}.markup-pill .btn:hover{background:var(--surface-quiet)}.markup-toolbar-spacer{flex:1}.markup-toolbar-title{min-width:0}.markup-title-text{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.markup-zoom-pct{font-size:12px;font-variant-numeric:tabular-nums;min-width:44px;text-align:center;color:var(--ink-500)}.markup-canvas-outer{position:relative;flex:1;min-height:0;display:flex}.markup-banner{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:999px;font-size:12.5px;background:#eab30829;border:1px solid rgba(234,179,8,.4);color:#854d0e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap}[data-palette=dark] .markup-banner{background:#eab30824;color:#fde68a}.markup-canvas-wrap{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:var(--radius-xl, 18px);background:repeating-linear-gradient(0deg,var(--markup-grid) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,var(--markup-grid) 0 1px,transparent 1px 34px),var(--surface-panel);border:1px solid var(--hairline);box-shadow:var(--shadow-tile);touch-action:none;-webkit-user-select:none;user-select:none}.markup-canvas-img{position:absolute;top:0;left:0;transform-origin:0 0;max-width:none;pointer-events:none;image-rendering:auto}.markup-svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}:root{--markup-halo: #fff;--markup-grid: rgba(15, 32, 60, .035)}[data-palette=dark]{--markup-grid: rgba(255, 255, 255, .045)}[data-palette=dark] .markup-svg{--markup-halo: #fff}.markup-tools{flex-wrap:wrap}.markup-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--ink-600, inherit);cursor:pointer}.markup-tool-btn:hover{background:var(--surface-quiet, rgba(0,0,0,.06))}.markup-tool-btn.active{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.markup-tool-btn.needs-scale{opacity:.45}.markup-style-group{gap:5px}.markup-swatch{width:18px;height:18px;border-radius:50%;border:2px solid rgba(0,0,0,.15);cursor:pointer;padding:0}[data-palette=dark] .markup-swatch{border-color:#ffffff40}.markup-swatch.active{border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px #6366f159}.markup-style-sep{width:1px;height:18px;background:var(--hairline, rgba(0,0,0,.12));margin:0 3px}.markup-weight-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;border:1px solid transparent;background:transparent;color:var(--ink-600, inherit);cursor:pointer}.markup-weight-btn:hover{background:var(--surface-quiet, rgba(0,0,0,.06))}.markup-weight-btn.active{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1)}.markup-scale-btn{display:inline-flex;align-items:center;gap:6px}.markup-scale-btn.warn{border-color:#eab30899;background:#eab30824;color:#854d0e}[data-palette=dark] .markup-scale-btn.warn{color:#fde68a}.markup-calibrate-bar{background:#8b5cf624;border-color:#8b5cf673;color:#5b21b6}[data-palette=dark] .markup-calibrate-bar{color:#ddd6fe}.markup-calibrate-input{display:flex;align-items:center;gap:8px;margin:14px 0 4px}.markup-calibrate-input input{flex:1;font-size:16px;padding:8px 10px}.markup-unit-suffix{font-size:13px;color:var(--ink-500)}.markup-crosshair line{stroke:#6366f180;stroke-width:1;pointer-events:none}.markup-snap-ring{fill:none;stroke:#22c55e;stroke-width:2;pointer-events:none}.markup-grip{fill:#fff;stroke:var(--accent, #6366f1);stroke-width:1.5}.markup-shape.selected{filter:drop-shadow(0 0 3px rgba(99,102,241,.8))}.markup-readout{position:absolute;left:12px;bottom:12px;z-index:5;padding:5px 10px;border-radius:8px;font-size:12.5px;font-variant-numeric:tabular-nums;background:#111111bf;color:#fff;pointer-events:none}.markup-dline-input,.markup-text-input{position:absolute;z-index:6;width:90px;padding:4px 8px;font-size:13px;border-radius:7px;border:1px solid var(--accent, #6366f1);background:var(--surface-panel));box-shadow:0 2px 10px #0000002e}.markup-text-input{width:220px;font-weight:600}[data-palette=dark] .markup-dline-input,[data-palette=dark] .markup-text-input{background:#181a20f2;color:#fff}.pdf-import-modal{width:min(940px,92vw);max-height:88vh;overflow:auto}.pdf-import-hint{font-size:13px;color:var(--ink-500);margin:6px 0 12px}.pdf-import-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;max-height:56vh;overflow:auto;padding:2px}.pdf-page-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:10px;border:1px solid rgba(0,0,0,.1);background:var(--surface-quiet));cursor:pointer;font-size:12px}.pdf-page-thumb:hover{border-color:var(--accent, #6366f1)}.pdf-page-thumb img{max-width:100%;max-height:160px;border-radius:4px;box-shadow:0 1px 5px #0003}.pdf-thumb-loading{align-items:center;justify-content:center;min-height:120px;cursor:default}[data-palette=dark] .pdf-page-thumb{border-color:#ffffff1f}.pdf-crop-holder{position:relative;width:fit-content;margin:0 auto;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.pdf-crop-canvas{display:block;max-width:100%;border-radius:6px;box-shadow:0 2px 12px #00000040}.pdf-crop-box{position:absolute;border:2px solid var(--accent, #6366f1);background:#6366f11f;box-shadow:0 0 0 9999px #00000059;pointer-events:none}.pdf-crop-holder{overflow:hidden;border-radius:6px}.markup-export-modal{width:min(760px,92vw);max-height:90vh;overflow:auto}.markup-export-preview{display:flex;align-items:center;justify-content:center;min-height:200px;max-height:46vh;overflow:auto;border-radius:10px;background:#0000000f;margin:10px 0 14px}[data-palette=dark] .markup-export-preview{background:#00000059}.markup-export-preview img{max-width:100%;max-height:44vh;object-fit:contain;border-radius:6px;box-shadow:0 2px 12px #00000038}.markup-export-notes-label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-500);margin-bottom:6px}.markup-export-notes{width:100%;resize:vertical;font-size:13px;padding:8px 10px;border-radius:8px}.markup-vertex-dot{opacity:0;transition:opacity .12s}.markup-shape:hover .markup-vertex-dot,.markup-shape.selected .markup-vertex-dot,.markup-shape.draft .markup-vertex-dot{opacity:1}.markup-rotate-stem{stroke:var(--accent, #6366f1);stroke-width:1.2;stroke-dasharray:3 3}.markup-rotate-grip{fill:#fff;stroke:var(--accent, #6366f1);stroke-width:1.5}.markup-toolbar .btn.btn-icon.btn-sm{width:36px;height:36px;min-width:36px;padding:0;display:inline-flex;align-items:center;justify-content:center}.markup-toolbar .btn.btn-sm{min-height:36px}.markup-tool-btn{width:36px;height:36px;border-radius:50%}.markup-weight-btn{width:32px;height:32px;border-radius:50%}.markup-toolbar .btn.btn-icon.btn-sm svg,.markup-tool-btn svg,.markup-scale-btn svg{width:20px;height:20px}.markup-swatch{width:22px;height:22px}.markup-zoom-pct{font-size:13px;min-width:48px}.markup-ortho-btn{margin-left:6px}.pdf-import-error-detail{font-size:11.5px;font-family:monospace;color:#b91c1c;background:#ef444414;border-radius:6px;padding:6px 8px;word-break:break-word}[data-palette=dark] .pdf-import-error-detail{color:#fca5a5}.programme-empty,.scurve-caption{color:var(--ink-500);font-size:12.5px;margin:8px 0 0}.gantt-wrap{overflow-x:auto;padding-bottom:4px}.gantt{display:block}.gantt-grid{stroke:var(--ink-200, rgba(127, 127, 127, .25));stroke-width:1}.gantt-stripe{fill:var(--surface-quieter, rgba(127, 127, 127, .05))}.gantt-today{stroke:var(--status-defect, #e5484d);stroke-width:2}.gantt-today-label{font-size:9px;font-weight:600;fill:var(--status-defect, #e5484d)}.gantt-month{font-size:10px;fill:var(--ink-500)}.gantt-label{font-size:11.5px;fill:var(--ink-700, currentColor)}.gantt-label.is-parent{font-weight:650}.gantt-pct{font-size:9px;fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#00000059;stroke-width:2px}.gantt-axis{font-size:10px;fill:var(--ink-500)}.gantt-legend,.scurve-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px;font-size:11.5px;color:var(--ink-500);align-items:center}.gantt-legend-item{display:inline-flex;align-items:center;gap:5px;font-weight:600;color:var(--ink-700)}.gantt-legend-item i,.scurve-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.gantt-legend-item i.gantt-legend-today{width:2px;height:13px;border-radius:0;background:var(--status-defect, #e5484d)}.gantt-legend-note{margin-left:auto;font-size:12px;color:var(--ink-500);font-weight:400}.scurve-legend i.is-planned{background:var(--ink-400, #94a3b8)}.scurve-legend i.is-actual{background:var(--swatch-blue, #3b82f6)}.scurve-legend .is-behind{color:var(--swatch-rose, #f56579)}.scurve-legend .is-ahead{color:var(--swatch-emerald, #2bb673)}.scurve-wrap{overflow-x:auto}.scurve{width:100%;max-width:680px;height:auto}.scurve-grid{stroke:var(--ink-200, rgba(127, 127, 127, .22));stroke-width:1}.scurve-axis{font-size:10px;fill:var(--ink-500)}.scurve-planned{fill:none;stroke:var(--ink-400, #94a3b8);stroke-width:2;stroke-dasharray:5 4}.scurve-actual{fill:none;stroke:var(--swatch-blue, #3b82f6);stroke-width:2.4}.lookahead-select{font-size:12px;padding:2px 6px;margin-left:auto}.analysis-table tr.is-overdue td{background:#ef444414}.analysis-table tr.is-unassigned td{color:var(--ink-500);font-style:italic}.programme-add-btn,.programme-wide-btn{width:100%;margin-top:8px}.programme-issues{margin:8px 0;padding:8px 10px;border-radius:8px;background:#ef444417;font-size:12px}.programme-issues p{margin:0 0 4px;display:flex;gap:6px;align-items:flex-start}.programme-issues p:last-child{margin-bottom:0}.batch-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.batch-row{border:1px solid var(--hairline));border-radius:9px;padding:6px 8px}.batch-row.picking{border-color:var(--swatch-blue, #3b82f6);box-shadow:0 0 0 2px #3b82f62e}.batch-row-head{display:flex;align-items:center;gap:6px}.batch-status-dot{width:9px;height:9px;border-radius:50%;flex:none}.batch-label-input{flex:1;min-width:0;background:transparent;border:1px solid transparent;border-radius:5px;padding:2px 4px;font:inherit;color:inherit}.batch-label-input:hover{border-color:var(--hairline))}.batch-row-sub{font-size:11.5px;color:var(--ink-500);padding:2px 0 0 22px}.batch-late{color:var(--swatch-rose, #f56579)}.batch-row-body{padding:8px 0 2px 22px;display:flex;flex-direction:column;gap:8px}.batch-dates{display:flex;gap:8px}.batch-dates label{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:var(--ink-500);flex:1}.batch-lot-actions{display:flex;gap:6px}.batch-lot-actions .btn{flex:1}.batch-block-assign{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--ink-500)}.batch-actuals{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--ink-500)}.batch-status-pill{font-weight:650}.batch-lot-modal{max-width:720px}.batch-lot-tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin:10px 0}.batch-lot-range{display:flex;align-items:center;gap:6px;font-size:12px}.batch-lot-bulk{display:flex;gap:6px}.batch-lot-list{max-height:46vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.batch-lot-group-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.batch-lot-group-head .meta{margin-right:auto}.batch-lot-chips{display:flex;flex-wrap:wrap;gap:5px}.batch-lot-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:12px;cursor:pointer;border:1px solid var(--hairline))}.batch-lot-chip input{margin:0}.batch-lot-chip.on{background:var(--swatch-blue, #3b82f6);color:#fff;border-color:transparent}.batch-lot-chip.taken{opacity:.42;cursor:not-allowed;text-decoration:line-through}.batch-lot-warn{margin-top:10px;font-size:12px;color:var(--swatch-rose, #f56579);display:flex;gap:6px;align-items:center}.bundle-group{display:flex;gap:4px}.bundle-group .btn{position:relative}.bundle-group .btn.has-unshared{border-color:var(--swatch-blue, #527cf2)}.bundle-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--swatch-blue, #527cf2)}.bundle-count{position:absolute;top:-5px;right:-5px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--swatch-blue, #527cf2);color:#fff;font-size:10px;line-height:15px;text-align:center}.bundle-modal{max-width:540px}.bundle-estimate{margin:12px 0 4px;padding:10px 12px;border-radius:9px;background:#7f7f7f17;display:flex;flex-direction:column;gap:2px}.bundle-warn{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;padding:8px 10px;border-radius:8px;font-size:12.5px;color:var(--swatch-rose, #f56579);background:#f565791a}.bundle-warn svg{flex:none;margin-top:1px}.bundle-type-list{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:3px 14px;font-size:12.5px}.bundle-type-list li{display:flex;justify-content:space-between;gap:8px}.bundle-type-list span{color:var(--ink-500)}.programme-section-actions{display:flex;flex-direction:column;gap:6px}.programme-section-actions .btn{width:100%;justify-content:flex-start}.unit[data-sched-pick="1"]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:2px dashed var(--swatch-blue, #3b82f6);border-radius:inherit;pointer-events:none}.canvas-pick-banner{position:sticky;top:0;z-index:6;margin:0 auto;width:fit-content;max-width:92%;padding:5px 12px;border-radius:0 0 10px 10px;font-size:12px;background:var(--swatch-blue, #3b82f6);color:#fff;box-shadow:0 2px 10px #0000002e}.block-modal{max-width:560px}.block-list{display:flex;flex-direction:column;gap:5px;max-height:44vh;overflow-y:auto}.block-row{display:flex;align-items:center;gap:8px}.block-row input[type=text],.block-row>input:not([type]){flex:1;min-width:0}.block-row .meta{margin-left:auto;white-space:nowrap}.block-row input.block-firm{flex:0 1 150px;min-width:90px}.block-infer-row{cursor:pointer;padding:4px 0}.block-swatch{width:11px;height:11px;border-radius:3px;flex:none}.block-add{display:flex;gap:6px;margin-top:10px}.block-add input{flex:1;min-width:0}.block-infer-btn{width:100%;margin-top:8px}.sync-folder-chip{margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;background:#7f7f7f29;white-space:nowrap}.sync-setup-kind{margin:10px 0 0;font-size:12.5px;opacity:.8}.sync-setup-kind.warn{padding:8px 10px;border-radius:8px;border:1px solid var(--warn, #d97706);color:var(--warn, #d97706);opacity:1}.sync-chip{display:inline-flex;align-items:center;gap:5px;color:var(--ink-500);white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}.sync-chip svg{flex:0 0 auto}.sync-chip.is-offline{color:#b45309}[data-palette=dark] .sync-chip.is-offline{color:#fbbf24}@keyframes sync-spin{to{transform:rotate(360deg)}}.sync-spin{animation:sync-spin 1s linear infinite}.sync-setup-modal{max-width:460px}.sync-setup-path{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.sync-setup-choices{display:flex;flex-direction:column;gap:10px;margin:16px 0 4px}.sync-setup-choice{display:flex;align-items:center;gap:12px;background:var(--surface-quiet);border:1px solid var(--hairline);padding:12px 14px;border-radius:var(--radius-lg);border:1px solid var(--accent-soft);cursor:pointer;text-align:left;color:var(--ink-900)}.sync-setup-choice:hover{border-color:var(--accent)}.sync-setup-choice:disabled{opacity:.6;cursor:default}.sync-setup-choice svg{color:var(--accent);flex:0 0 auto}.sync-setup-choice span{display:flex;flex-direction:column;gap:2px}.sync-setup-choice strong{font-size:13.5px}.sync-setup-choice small{font-size:11.5px;color:var(--ink-500)}.sync-storage{display:flex;flex-direction:column;gap:10px}.sync-storage__path{margin:0;font-size:11.5px;color:var(--ink-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-storage__bar{height:8px;border-radius:999px;background:var(--accent-soft);overflow:hidden}.sync-storage__bar span{display:block;height:100%;min-width:2px;border-radius:inherit;background:var(--accent)}.sync-storage__bar span[data-warn]{background:#dc2626}.password-modal{max-width:420px}.password-modal__hint{font-size:12px;color:var(--ink-500);margin:4px 0 10px;line-height:1.5}.password-input-row{display:flex;align-items:center;gap:6px}.password-input-row input{flex:1;min-width:0}.password-modal__error{display:block;margin-top:6px;font-size:12px;color:#dc2626}.confirm-modal{max-width:420px}.confirm-modal__message{font-size:13px;color:var(--ink-700);margin:6px 0 12px;line-height:1.5}.confirm-modal__message.dim{color:var(--ink-500);font-size:12px}.recent-card__menu button.is-danger{color:#dc2626}.recent-card__menu button.is-danger:hover{background:#dc26261f}.recover-modal{max-width:720px}.recover-roots{margin:4px 0 10px;padding:8px 10px;border-radius:8px;background:#7f7f7f1a;font-size:12px}.recover-roots__title{font-weight:600;margin-bottom:4px}.recover-roots ul{margin:0;padding-left:16px}.recover-roots li{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px;overflow-wrap:anywhere;color:var(--ink-700)}.recover-note{font-size:11.5px;color:var(--ink-500);line-height:1.5;margin:8px 0}.recover-actions{flex-wrap:wrap;gap:6px}.recover-working{padding:24px 0;text-align:center}.recover-list{max-height:46vh;overflow-y:auto;margin:6px 0 10px;border-radius:8px}.recover-row{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent}.recover-row:hover{background:#7f7f7f14}.recover-row input{margin-top:3px;flex:none}.recover-row__main{min-width:0;flex:1}.recover-row__title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recover-row__name{font-size:13px;font-weight:600;color:var(--ink-900)}.recover-row__meta{font-size:11.5px;color:var(--ink-700);margin-top:2px}.recover-row__path{font-size:11px;color:var(--ink-500);margin-top:2px;overflow-wrap:anywhere}.recover-badge{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:1px 6px;border-radius:999px;background:#7f7f7f2e;color:var(--ink-700)}.recover-badge.is-ok{background:#16a34a29;color:#15803d}.recover-badge.is-bad{background:#dc262629;color:#dc2626}.recover-row.is-bad{border-color:#dc262640}.recover-copied{font-size:11.5px;margin:6px 0 10px;padding:8px 10px;border-radius:8px;background:#16a34a1a}.recover-copied ul{margin:4px 0 0;padding-left:16px}.recover-copied code{font-size:10.5px;overflow-wrap:anywhere}.file-problem-modal{max-width:560px}.file-problem__details{margin:0 0 12px;padding-left:18px;font-size:12.5px;line-height:1.55;color:var(--ink-700)}.file-problem__details li{margin-bottom:6px}.file-problem__path{margin:0 0 12px;padding:6px 8px;border-radius:6px;background:#7f7f7f1a;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px;color:var(--ink-600, var(--ink-700));overflow-wrap:anywhere}.test-report-modal{width:min(980px,100%)}.test-report-body{display:grid;grid-template-columns:320px 1fr;gap:16px;min-height:0}.test-report-units{display:flex;flex-direction:column;gap:8px;min-height:0}.test-report-tools{display:flex;gap:6px;flex-wrap:wrap}.test-report-unit-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:2px;padding-right:4px}.test-report-unit-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px}.test-report-unit-row:hover{background:var(--surface-quiet)}.test-report-unit-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-report-unit-count{font-size:11px;color:var(--ink-500);white-space:nowrap}.test-report-badge{font-size:10px;font-weight:700;border:1px solid;border-radius:7px;padding:1px 7px}.test-report-selcount{font-size:12px;color:var(--ink-500)}@media(max-width:900px){.test-report-body{grid-template-columns:1fr}.report-preview-pane{min-height:320px}}.shared-card .recent-card__thumb.is-empty{display:flex;align-items:center;justify-content:center;color:var(--ink-500)}.recent-card__menu-note{padding:8px 10px;font-size:11px;color:var(--ink-500);max-width:220px;line-height:1.4}.sidebar-search-btn{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%;height:34px;padding:0 10px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);color:var(--ink-500);font-size:12px;text-align:left;transition:border-color .16s,background .16s,color .16s}.sidebar-search-btn:hover{border-color:var(--accent);background:var(--surface-panel);color:var(--ink-900, var(--ink-700))}.sidebar-search-btn kbd{font-family:JetBrains Mono,monospace;font-size:10px;padding:2px 6px;border-radius:6px;background:var(--surface-panel);border:1px solid var(--hairline);color:var(--ink-500)}.pinned-section{flex:0 0 auto}.pinned-section .sidebar-list{max-height:30vh}.pin-tag-trade,.pin-tag-qc,.pin-tag-defect,.pin-tag-test,.pin-tag-markup{width:auto;height:auto;display:inline-flex;align-items:center;font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:6px;background:var(--surface-quiet);color:var(--ink-500);flex:none}.pin-tag-trade{background:#c6e4ffe6;color:#0f5aa8}.pin-tag-qc{background:var(--status-dn-soft, #cbf0dc);color:var(--status-dn-ink, #136b45)}.pin-tag-defect{background:var(--status-defect-soft, #ffd8da);color:var(--status-defect-ink, #a3151b)}.pin-tag-test{background:var(--status-ip-soft, #ffe9c7);color:var(--status-ip-ink, #8a5600)}.pin-tag-markup{background:#c6f0f3e6;color:#0b6b76}[data-palette=dark] .pin-tag-trade{background:#143052e6;color:#8ecbff}[data-palette=dark] .pin-tag-markup{background:#0b3a40e6;color:#7ddfe0}.pin-btn{opacity:0;transition:opacity .14s,color .14s}.trade-row-main:hover .pin-btn,.pinned-list .trade-row:hover .pin-btn{opacity:1}.pin-btn.pinned{opacity:1;color:var(--accent)}.pin-btn.pinned svg{fill:currentColor}.sidebar-item .pct{transition:opacity var(--dur-fast) var(--ease-standard)}.trade-row-main:hover .sidebar-item .pct,.trade-row-main:has(:focus-visible) .sidebar-item .pct{opacity:0}@property --actions-w{syntax: "<length>"; inherits: true; initial-value: 34px;}@property --label-fade{syntax: "<length>"; inherits: true; initial-value: 0px;}.trade-row-main{--actions-w: 34px}.trade-row-main:has(.trade-row-actions>:nth-child(2)){--actions-w: 62px}.trade-row-main:has(.trade-row-actions>:nth-child(3)){--actions-w: 90px}.trade-row-main:has(.trade-row-actions>:nth-child(4)){--actions-w: 118px}.trade-row-main{--label-fade: max(0px, calc(var(--actions-w) - 46px))}.trade-row-main:has(.sidebar-item--2line){--label-fade: max(0px, calc(var(--actions-w) - 10px))}.trade-row-main:hover .sidebar-item .label,.trade-row-main:has(:focus-visible) .sidebar-item .label{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--label-fade) - 18px),transparent calc(100% - var(--label-fade) + 2px));mask-image:linear-gradient(to right,#000 calc(100% - var(--label-fade) - 18px),transparent calc(100% - var(--label-fade) + 2px))}.trade-row-main:has(.sidebar-item.active) .trade-row-actions>*{opacity:1;transform:none;pointer-events:auto}.trade-row-main:has(.sidebar-item.active) .sidebar-item .pct{opacity:0}.trade-row-main:has(.sidebar-item.active) .sidebar-item .label{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--label-fade) - 18px),transparent calc(100% - var(--label-fade) + 2px));mask-image:linear-gradient(to right,#000 calc(100% - var(--label-fade) - 18px),transparent calc(100% - var(--label-fade) + 2px))}.trade-row-main:has(.sidebar-item.active):not(:hover):not(:has(:focus-visible)) .trade-row-btn.danger{opacity:0;pointer-events:none}.trade-row-main:has(.pin-btn.pinned) .sidebar-item{padding-right:34px}.sidebar-resize{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;z-index:5}.sidebar-resize:hover{background:var(--accent-glow, rgba(99,102,241,.25))}body.resizing-sidebar{cursor:col-resize;-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;z-index:6}.resize-handle--x{top:0;width:7px;height:100%;cursor:col-resize}.resize-handle--x.resize-handle--left{left:0}.resize-handle--x.resize-handle--right{right:0}.resize-handle--y{left:0;height:7px;width:100%;cursor:row-resize}.resize-handle--y.resize-handle--top{top:0}.resize-handle--y.resize-handle--bottom{bottom:0}.resize-handle:hover{background:var(--accent-glow, rgba(99, 102, 241, .25))}body.resizing{-webkit-user-select:none;user-select:none}body.resizing *{cursor:inherit!important}.cmdk-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;background:#0f121e73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmdk.panel{width:min(620px,92vw);max-height:66vh;display:flex;flex-direction:column;border-radius:var(--radius-xl);padding:0;box-shadow:var(--shadow-modal);overflow:hidden}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline);color:var(--ink-500)}.cmdk-input{flex:1;background:transparent;border:none;outline:none;font-size:15px;color:var(--ink-900, var(--ink-700))}.cmdk-esc{font-family:var(--font-mono);font-size:10px;padding:2px 6px;border-radius:6px;background:var(--surface-quieter);border:1px solid var(--hairline);color:var(--ink-500)}.cmdk-list{overflow:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.cmdk-empty{padding:18px;text-align:center;color:var(--ink-500);font-size:13px}.cmdk-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;min-height:calc(38px * var(--density));padding:9px 12px;border-radius:var(--radius-sm);text-align:left;color:var(--ink-900);background:transparent;transition:background var(--dur-fast) var(--ease-standard),color var(--dur-fast) var(--ease-standard)}.cmdk-item:hover{background:var(--surface-quiet)}.cmdk-item.sel{background:var(--accent-wash);color:var(--ink-900);font-weight:700}.cmdk-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-hint{font:600 11px/1 var(--font-mono);color:var(--ink-500)}.cmdk-tag{min-width:30px;text-align:center;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:6px;background:var(--surface-quieter);color:var(--ink-500)}.cmdk-tag-action{color:var(--accent)}.report-template-row{display:flex;gap:6px;margin-bottom:6px}.report-template-row select,.report-template-row input{flex:1;min-width:0;height:30px;padding:0 8px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px}.report-template-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.report-template-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:2px 6px;border-radius:6px;background:var(--surface-quiet);color:var(--ink-700)}.report-template-chip button{color:var(--ink-500);font-size:13px;line-height:1;padding:0 2px}.report-template-chip button:hover{color:#d4495c}.report-narrative-editor textarea{width:100%;margin-bottom:6px;padding:8px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px;resize:vertical}.report-narrative-hint{font-size:11px;color:var(--ink-500);margin:2px 0 0}.defect-lifecycle{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.defect-lifecycle select,.defect-lifecycle input{height:28px;padding:0 6px;border-radius:7px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:11px}.defect-severity.sev-critical{color:#d4495c;font-weight:600}.defect-severity.sev-minor{color:var(--ink-500)}.defect-status.st-closed{color:var(--status-dn, #29b473)}.defect-status.st-in_progress{color:#d9a005}.defect-share-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}.share-undo-strip{margin-top:10px;padding:8px 10px;border-radius:9px;background:var(--surface-quiet);display:flex;align-items:center;gap:8px;justify-content:space-between}.share-sent-strip{margin-top:10px;display:flex;flex-direction:column;gap:6px}.share-sent-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:var(--surface-quiet);border:1px solid var(--hairline)}.share-sent-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.share-sent-main strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-sent-main .meta{font-size:10.5px;color:var(--ink-500)}.share-sent-state{font-size:10.5px;color:#d9a005}.share-sent-state.done{color:var(--status-dn, #29b473)}.share-modal{width:min(680px,94vw);max-height:min(90vh,100%)}.share-round-tag{margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:6px;background:var(--surface-panel);color:var(--accent)}.share-scope{display:flex;flex-direction:column;gap:4px}.share-scope label{display:flex;align-items:center;gap:8px;font-size:12px;padding:5px 8px;border-radius:8px;border:1px solid transparent;cursor:pointer}.share-scope label.on{background:var(--surface-quiet);border-color:var(--hairline)}.share-lot-pick{display:flex;flex-wrap:wrap;gap:5px;max-height:180px;overflow-y:auto;padding:6px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface-quiet)}.share-lot-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;border:1px solid transparent;font-size:12px;cursor:pointer}.share-lot-chip.on{background:var(--surface-panel);border-color:var(--hairline);font-weight:600}.share-lot-chip em{font-style:normal;font-size:10px;opacity:.75}.share-lot-actions{display:flex;align-items:center;gap:6px;margin-top:6px}.share-inline-check{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer}.ti-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;border:1px solid transparent;font-size:12.5px;cursor:pointer}.ti-row.on{background:var(--surface-quiet);border-color:var(--hairline)}.ti-row-main{min-width:0}.ts-field-row{display:contents}.rsp-sev-tag[data-res=pass],.test-verdict[data-res=pass].is-on{color:var(--status-dn, #29b473)}.rsp-sev-tag[data-res=fail],.test-verdict[data-res=fail].is-on{color:#d4495c}.rsp-sev-tag[data-res=na],.test-verdict[data-res=na].is-on{color:var(--ink-500)}.rsp-sev-tag[data-res=not_done]{color:var(--status-ip, #f5a524)}.test-verdict.is-on{border-color:currentColor;font-weight:700}.test-lot-row{width:100%;text-align:left;cursor:pointer}.test-owed{flex:none;min-width:30px;text-align:center;font-weight:700;color:var(--status-ip, #f5a524)}.test-owed.is-clear{color:var(--status-dn, #29b473)}.test-owed-fail{color:#d4495c}.test-outstanding{width:100%;text-align:left;cursor:pointer;border-style:dashed}.test-entry-modal{width:min(560px,94vw)}.tf-rule{font-weight:400;opacity:.75}.tf-paired-row{display:flex;gap:6px;align-items:center}.share-tree{max-height:30vh;overflow-y:auto;border:1px solid var(--hairline);border-radius:10px;padding:4px}.share-lot+.share-lot{border-top:1px solid var(--hairline)}.share-lot-head{display:flex;align-items:center;gap:8px;padding:4px 6px}.share-lot-toggle{flex:1;display:flex;align-items:center;gap:6px;font-size:12.5px;text-align:left;padding:2px 0}.share-lot-toggle .meta{margin-left:auto;font-size:11px;color:var(--ink-500)}.share-row-list{padding:0 6px 6px 26px;display:flex;flex-direction:column;gap:3px}.share-row{display:flex;align-items:center;gap:8px;font-size:11.5px;padding:3px 4px;border-radius:7px;cursor:pointer}.share-row:hover{background:var(--surface-quiet)}.share-row-thumb{width:34px;height:26px;object-fit:cover;border-radius:4px;flex:none;background:var(--surface-quiet)}.share-row-thumb-missing{display:flex;align-items:center;justify-content:center;color:var(--ink-500)}.share-row-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-row-status{font-size:10px;color:var(--ink-500);text-transform:capitalize;flex:none}.share-row-status.st-closed{color:var(--status-dn, #29b473)}.share-row-status.st-in_progress{color:#d9a005}.share-disclosure-head{display:flex;align-items:center;gap:6px;width:100%;text-align:left;padding:2px 0}.share-disclosure-head label{cursor:pointer;margin:0}.share-disclosure-head .meta{margin-left:auto;font-size:11px;color:var(--ink-500)}.share-disclosure-body{display:flex;flex-direction:column;gap:3px;margin-top:6px;padding-left:20px}.share-tick{display:flex;align-items:flex-start;gap:8px;font-size:12px;cursor:pointer}.share-tick-fixed{opacity:.65;cursor:default}.share-tick-warn{font-style:italic;color:#d9a005}.share-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding:9px 11px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12px}.share-summary em{width:100%;font-size:11px;font-style:italic;color:#d9a005}.share-summary.warn{border-color:#d9a00560}.share-import-modal{width:min(720px,94vw);max-height:min(90vh,100%)}.share-conflict-count{color:#d9a005}.share-change-list{max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.share-change-lot{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500);margin-bottom:5px}.share-change{padding:9px 11px;border-radius:10px;border:1px solid var(--hairline);background:var(--surface-quiet);margin-bottom:6px;opacity:.62}.share-change.on{opacity:1}.share-change.conflict{border-color:#d9a00580}.share-change-head{display:flex;align-items:center;gap:8px}.share-change-kind{font-size:12px;font-weight:600}.share-proposal-tag{margin-left:6px;font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 5px;border-radius:5px;background:var(--surface-panel);color:#d9a005}.share-conflict-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;padding:6px 8px;border-radius:8px;background:#d9a00518;font-size:11.5px;color:#d9a005}.share-change-body{display:flex;gap:14px;margin-top:7px;font-size:12px}.share-change-side{flex:1;min-width:0}.share-change-label{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-500)}.share-change-side p{margin:2px 0 4px;word-break:break-word}.share-change-side.now{border-left:1px solid var(--hairline);padding-left:14px}.share-change-oneline{margin:0;text-transform:capitalize}.share-change-new{display:flex;gap:10px;align-items:flex-start}.share-change-new p{margin:0 0 4px}.share-sev-pick{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-500)}.share-import-notes{margin-top:10px;padding:8px 11px;border-radius:9px;background:var(--surface-quiet);font-size:11.5px;color:var(--ink-500)}.share-import-notes p{margin:0 0 3px}.share-import-notes p:last-child{margin-bottom:0}.rsp-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;padding:14px;min-height:0}.rsp-head{flex:none;display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:var(--radius-lg, 16px)}.rsp-head-main{flex:1;min-width:0}.rsp-head-main h1{font-size:20px;margin:0 0 3px}.rsp-head-main .meta{font-size:12px;color:var(--ink-500);margin:0}.rsp-head-side{display:flex;gap:6px;flex:none}.rsp-done{color:var(--status-dn, #29b473)}.rsp-banner{flex:none;margin:0;padding:9px 14px;border-radius:10px;background:var(--surface-quiet);font-size:12.5px;color:var(--ink-500)}.rsp-banner-warn{background:#e8a02024;border:1px solid rgba(232,160,32,.45);color:var(--ink-700, #2c2f36)}.rsp-banner-ok{background:#29b47321;border:1px solid rgba(41,180,115,.4);color:var(--ink-700, #2c2f36)}.rsp-how{flex:none}.rsp-how-toggle{border:0;background:none;padding:4px 2px;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-on-field, #fff);cursor:pointer;display:inline-flex;gap:6px;align-items:center}.rsp-how-toggle:hover{color:#fff;text-decoration:underline}.rsp-how-body{padding:4px 14px 10px;border-radius:10px;background:var(--surface-quiet);font-size:12.5px;color:var(--ink-500)}.rsp-how-body ol{margin:8px 0;padding-left:20px}.rsp-how-body li{margin-bottom:6px}.rsp-how-body .meta{margin:6px 0;font-size:12.5px}.rsp-resume{flex:none;margin:0}.rsp-nag{font-size:12.5px;color:#b4741c}.rsp-plan{flex:none;margin:0;display:flex;flex-direction:column;align-items:center;gap:5px}.rsp-plan-btn{display:block;max-width:100%;padding:0;border:0;background:none;border-radius:10px;cursor:zoom-in}.rsp-plan-btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.rsp-plan-img{display:block;max-width:100%;max-height:28vh;object-fit:contain;border-radius:10px;background:var(--surface-quiet)}.rsp-plan figcaption{font-size:11.5px;text-align:center}@media(max-width:560px){.rsp-plan-img{max-height:22vh}}.rsp-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.rsp-screen.is-chat{padding:10px;gap:10px}.rsp-screen.is-chat .rsp-list{overflow:hidden;gap:0;padding-right:0}.rsp-chatlist{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.rsp-search{position:sticky;top:0;z-index:2;flex:none;display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px}.rsp-search svg{width:16px;height:16px;flex:none;opacity:.6}.rsp-search input{flex:1;min-width:0;min-height:32px;border:0;background:none;font:inherit;font-size:15px;color:inherit;outline:none}.rsp-search input::-webkit-search-cancel-button{display:none}.rsp-search-x{flex:none;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:none;color:inherit;cursor:pointer}.rsp-search-x svg{width:13px;height:13px;opacity:.8}.rsp-thread-all{flex:none;display:flex;flex-direction:column;gap:2px;width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--line, rgba(0, 0, 0, .1));border-radius:12px;background:var(--surface-panel);text-align:left;font:inherit;color:inherit;cursor:pointer}.rsp-thread-all-title{font-weight:650;font-size:14.5px}.rsp-thread-all .meta{font-size:12px}.rsp-chatlist-group{display:flex;flex-direction:column;gap:2px}.rsp-chatlist-head{margin:6px 0 2px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}.rsp-chatlist-hidden{flex:none;margin:4px 0 0;font-size:12px}.rsp-lotrow{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 12px;border:0;border-radius:10px;background:var(--surface-panel);text-align:left;font:inherit;color:inherit;cursor:pointer}.rsp-lotrow+.rsp-lotrow{margin-top:2px}.rsp-lotrow:active{background:var(--surface-quiet)}.rsp-lotrow-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.rsp-lotrow-label{font-weight:600;font-size:14.5px}.rsp-lotrow-snip{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rsp-lotrow-count{flex:none;min-width:24px;padding:2px 7px;border-radius:999px;background:var(--surface-quiet);font-size:12px;font-weight:700;text-align:center}.rsp-lotrow-count[data-unsent]{background:var(--accent);color:#fff}.rsp-chat{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.rsp-chat-head{flex:none;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px}.rsp-chat-back{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:none;color:inherit;cursor:pointer}.rsp-chat-back svg{width:15px;height:15px;transform:rotate(180deg)}.rsp-chat-title{min-width:0;display:flex;flex-direction:column;gap:1px}.rsp-chat-title strong{font-size:15.5px}.rsp-chat-title .meta{font-size:12px}.rsp-chat-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 2px 4px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.rsp-chat-empty{margin:12px 4px}.rsp-bubble{align-self:flex-start;max-width:88%;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:14px 14px 14px 4px;background:var(--surface-panel);border:1px solid var(--line, rgba(0, 0, 0, .08))}.rsp-bubble.is-sent{opacity:.72}.rsp-bubble-photo{display:block;padding:0;border:0;background:none;border-radius:10px;cursor:zoom-in}.rsp-bubble-photo img{display:block;max-width:100%;max-height:40vh;border-radius:10px;object-fit:cover}.rsp-bubble-text{margin:0;font-size:14.5px;line-height:1.35;overflow-wrap:anywhere}.rsp-bubble-chips{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.rsp-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:999px;background:var(--surface-quiet);font-size:11.5px;color:var(--ink-500)}.rsp-chip svg{width:11px;height:11px}.rsp-bubble-foot{display:flex;align-items:center;gap:8px;font-size:11.5px}.rsp-bubble-foot .num{opacity:.75}.rsp-bubble-sent{color:var(--status-dn, #29b473)}.rsp-bubble-actions{margin-left:auto;display:flex;gap:4px}.rsp-bubble-act{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 9px;border:0;border-radius:8px;background:var(--surface-quiet);font:inherit;font-size:12px;color:inherit;cursor:pointer}.rsp-bubble-act svg{width:12px;height:12px}.rsp-bubble-act.danger{color:var(--status-ns, #d1495b)}.rsp-composer{flex:none;display:flex;flex-direction:column;gap:6px;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));border-radius:14px}.rsp-composer-error{margin:0;font-size:12.5px}.rsp-composer-busy{margin:0;font-size:12.5px;color:var(--ink-500)}.rsp-composer-preview{position:relative;display:flex;align-items:center;gap:8px}.rsp-composer-preview img{width:56px;height:56px;border-radius:8px;object-fit:cover}.rsp-composer-preview .meta{font-size:12px}.rsp-composer-preview-x{position:absolute;top:-5px;left:42px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:999px;background:var(--ink-900, #1b1f27);color:#fff;cursor:pointer}.rsp-composer-preview-x svg{width:10px;height:10px}.rsp-composer-row{display:flex;align-items:flex-end;gap:6px}.rsp-composer-btn,.rsp-composer-send{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:999px;background:var(--surface-quiet);font-size:19px;line-height:1;color:inherit;cursor:pointer}.rsp-composer-btn:disabled,.rsp-composer-send:disabled{opacity:.45;cursor:default}.rsp-composer-send{background:var(--accent);color:#fff}.rsp-composer-send svg{width:17px;height:17px}.rsp-composer-text{flex:1;min-width:0;min-height:44px;max-height:120px;padding:11px 12px;border:1px solid var(--line, rgba(0, 0, 0, .12));border-radius:20px;background:var(--surface-panel);font:inherit;font-size:15px;line-height:1.35;color:inherit;resize:none;overflow-y:auto}.rsp-composer-text:focus{outline:2px solid var(--accent);outline-offset:-1px}.rsp-all-row{display:flex;flex-direction:column;gap:4px}.rsp-all-lot{margin:8px 0 0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}.rsp-all-row .rsp-bubble{max-width:100%;border-radius:12px}.rsp-chatlist-total{flex:none;margin:0;font-size:12.5px}.rsp-lotrow-count.is-clear{background:var(--status-dn, #29b473);color:#fff}.rsp-test-section{display:flex;flex-direction:column;gap:4px}.rsp-test-section+.rsp-test-section{margin-top:10px}.rsp-chat-body .rsp-card{margin:0}.rsp-chat-body .test-outstanding,.rsp-chat-body .test-chain{min-height:52px}@media(max-width:560px){.modal.rsp-sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:88vh;overflow-y:auto;border-radius:16px 16px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}}.rsp-card{padding:12px 14px;border-radius:12px;border:1px solid var(--hairline);background:var(--surface-quiet)}.rsp-card.answered{border-left:3px solid var(--status-dn, #29b473)}.rsp-card-main{display:flex;gap:12px;align-items:flex-start}.rsp-thumb-btn{padding:0;border-radius:6px;line-height:0;cursor:zoom-in}.rsp-card-detail{flex:1;min-width:0}.rsp-card-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}.rsp-card-head .meta{font-size:12px;color:var(--ink-500)}.rsp-card-desc{margin:3px 0 4px;font-size:13px;word-break:break-word}.rsp-card-meta{display:flex;align-items:center;gap:10px;font-size:11.5px;text-transform:capitalize}.rsp-due{color:#d9a005;text-transform:none}.rsp-prior{margin:6px 0 0;padding:5px 8px;border-radius:7px;background:var(--surface-panel);font-size:11.5px;color:var(--ink-500)}.rsp-reply{margin-top:10px;padding-top:10px;border-top:1px solid var(--hairline)}.rsp-reply-row{display:flex;gap:10px;align-items:flex-start}.rsp-reply-row textarea{flex:1;min-width:0;padding:8px;border-radius:8px;background:var(--surface-panel);border:1px solid var(--hairline);font-size:12.5px;resize:vertical}.rsp-reply-photo{flex:none;display:flex;align-items:flex-start;gap:4px}.rsp-reply-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:8px}.rsp-date,.rsp-status-pick{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-500)}.rsp-date input,.rsp-status-pick select{height:28px;padding:0 6px;border-radius:7px;background:var(--surface-panel);border:1px solid var(--hairline);font-size:11.5px}.rsp-rectified{display:inline-flex;align-items:center;gap:7px;font-size:12px;padding:5px 10px;border-radius:8px;border:1px solid var(--hairline);cursor:pointer}.rsp-rectified.on{border-color:var(--status-dn, #29b473);color:var(--status-dn, #29b473)}.rsp-foot{flex:none;display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:var(--radius-lg, 16px)}.rsp-foot-actions{margin-left:auto;display:flex;gap:8px}.rsp-sent{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--status-dn, #29b473)}.rsp-error{font-size:12.5px;color:#d4495c}.rsp-photo-src{display:flex;flex-direction:column;gap:4px}.rsp-photo-src .btn{white-space:nowrap}.rsp-photo-hint{font-size:10.5px;line-height:1.3;color:var(--ink-500);max-width:150px}.rsp-route-note{font-size:11.5px}.rsp-linkish{background:none;border:0;padding:0;font:inherit;color:var(--accent, #4a8cff);text-decoration:underline;cursor:pointer}.rsp-route-opt{display:flex;align-items:flex-start;gap:12px;width:100%;margin-top:10px;padding:14px;min-height:44px;text-align:left;border-radius:12px;border:1px solid var(--hairline);background:var(--surface-panel);color:inherit;cursor:pointer}.rsp-route-opt:hover{border-color:var(--accent, #4a8cff)}.rsp-route-icon{font-size:20px;line-height:1.2}.rsp-route-text{display:flex;flex-direction:column;gap:3px;min-width:0}.rsp-route-text .meta{font-size:11.5px}.rsp-route-remember{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:var(--ink-500);cursor:pointer}@media(max-width:720px){.rsp-card-main{flex-wrap:wrap}.rsp-reply-row{flex-direction:column}.rsp-reply-photo{flex-direction:row}.rsp-photo-src{flex-direction:row;flex-wrap:wrap}.rsp-photo-src .btn{flex:1}.rsp-photo-hint{flex-basis:100%;max-width:none}}.rsp-home{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px}.rsp-home-card{width:min(520px,100%);padding:34px;border-radius:var(--radius-xl, 28px);text-align:center}.rsp-home-card h1{font-size:26px;margin:0 0 8px}.rsp-home-sub{font-size:13px;color:var(--ink-500);margin:0 0 20px;line-height:1.55}.rsp-home-error{margin:0 0 14px;padding:8px 12px;border-radius:9px;background:#d4495c18;font-size:12.5px;color:#d4495c}.rsp-recents{margin-top:24px;text-align:left}.rsp-recents h2{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);margin:0 0 7px}.rsp-recent{display:flex;align-items:center;gap:9px;width:100%;padding:8px 11px;margin-bottom:4px;border-radius:9px;background:var(--surface-quiet);border:1px solid var(--hairline);font-size:12.5px;text-align:left}.rsp-recent:hover{background:var(--surface-panel)}.rsp-recent-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rsp-recent .meta{font-size:11px;color:var(--ink-500);flex:none}.twin-hint{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:40;max-width:min(560px,calc(100% - 28px));padding:10px 16px;border-radius:12px;font-size:12.5px;text-align:center}@media(max-width:560px){.rsp-screen{padding:10px;gap:10px}.rsp-head{padding:12px 14px;flex-wrap:wrap}.rsp-head-main h1{font-size:17px}.rsp-foot{padding:10px 14px}.rsp-foot-actions{margin-left:0;width:100%;flex-wrap:wrap;justify-content:stretch}.rsp-foot-actions .btn{flex:1 1 auto;min-height:44px;justify-content:center}.rsp-foot-actions .btn-primary{flex-basis:100%}}.rsp-head-main .meta{color:var(--ink-900);opacity:.72}.rsp-photo-actions{display:flex;flex-direction:column;gap:3px}.rsp-newitem-photo{display:flex;align-items:center;gap:10px}.rsp-raise{margin-top:4px}.rsp-raise-btn{width:100%}.rsp-raised{border-style:dashed}.rsp-raised-tag{flex:none;align-self:flex-start;font-size:9.5px;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:6px;background:var(--surface-panel);color:var(--accent)}.rsp-feed{display:flex;flex-direction:column;gap:10px;margin-top:4px}.rsp-feed-head{font-size:13px;color:var(--ink-500)}.rsp-feed-head .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px;color:var(--ink-900)}.rsp-feed-lot{display:flex;flex-direction:column;gap:6px}.rsp-feed-lot-head{position:sticky;top:0;z-index:1;margin:0;padding:6px 2px;font-size:13px;font-weight:700;background:var(--surface-panel)}.rsp-feed-add{width:100%;min-height:48px;font-size:15px}.rsp-card-actions{display:flex;flex-direction:column;gap:3px}.rsp-card.is-sent{opacity:.62;border-style:solid}.rsp-card.is-sent .rsp-card-desc{text-decoration:none}.rsp-sev-row{display:flex;gap:6px}.rsp-sev{flex:1;min-height:40px}.rsp-sev.is-on{border-color:currentColor;font-weight:700}.rsp-sev[data-sev=critical].is-on{color:#d4495c}.rsp-sev[data-sev=major].is-on{color:var(--status-ip, #f5a524)}.rsp-sev[data-sev=minor].is-on{color:var(--ink-500)}.rsp-sev-tag{flex:none;font-family:var(--font-mono);font-size:9.5px;font-weight:700;letter-spacing:.05em;padding:2px 6px;border-radius:6px;background:var(--surface-panel)}.rsp-sev-tag[data-sev=critical]{color:#d4495c}.rsp-sev-tag[data-sev=major]{color:var(--status-ip, #f5a524)}.rsp-sev-tag[data-sev=minor]{color:var(--ink-500)}.annot-modal{width:min(860px,94vw);max-height:min(92vh,100%)}.annot-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.annot-swatches{display:inline-flex;gap:4px;margin:0 4px}.annot-swatch{width:20px;height:20px;border-radius:50%;border:2px solid var(--hairline);padding:0}.annot-swatch.on{border-color:var(--ink-900, #111);transform:scale(1.15)}.annot-stage{display:flex;justify-content:center;max-height:60vh;overflow:auto;border-radius:10px;background:var(--surface-quiet)}.annot-canvas{position:relative;line-height:0;touch-action:none;cursor:crosshair}.annot-canvas img{display:block;max-width:100%;height:auto;-webkit-user-select:none;user-select:none}.annot-canvas canvas{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.annot-text-input{position:absolute;transform:translateY(-2px);min-width:120px;padding:2px 6px;border-radius:6px;border:1px solid var(--hairline);background:#ffffffeb;font-size:13px;color:#111}.panel-head .meta.rollup-name{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rollup-strap{margin:-8px 0 12px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500)}.rollup-children{display:grid;gap:6px;margin-top:12px}.rollup-child{display:grid;grid-template-columns:1fr auto 14px;gap:10px;align-items:center;width:100%;padding:9px 12px;border-radius:10px;background:var(--surface-quiet);border:1px solid var(--hairline);color:var(--ink-700);text-align:left;font-size:13px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.rollup-child:hover{background:var(--surface-quiet);border-color:var(--accent)}.rollup-child:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rollup-child svg{color:var(--ink-500);flex:none}.rollup-child-main{display:grid;min-width:0}.rollup-child-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rollup-child-sub{font-size:11px;color:var(--ink-500)}.rollup-child-figure{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;white-space:nowrap}.rollup-pct,.rollup-open{color:var(--ink-900)}.rollup-blank{color:var(--ink-500)}.rollup-mix{display:inline-flex;gap:3px}.rollup-mix-sep{color:var(--ink-500);font-weight:400}.rollup-why{margin:12px 0 0}.rollup-empty{margin:0}.programme-summary{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;background:none;box-shadow:none;padding:0}.programme-summary-item{flex:1 1 128px;display:flex;flex-direction:column;gap:5px;min-width:118px;padding:13px 15px;border-radius:18px;background:var(--surface-panel);box-shadow:var(--shadow-tile);border-left:4px solid var(--drift, var(--ink-300))}.programme-summary-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-500);white-space:nowrap}.programme-summary-figure{display:flex;align-items:baseline;gap:7px}.programme-summary-item strong{font-size:26px;font-weight:600;line-height:1.05;color:var(--drift, var(--ink-900, currentColor))}.programme-summary-sub{font-size:12px;color:var(--ink-500);white-space:nowrap}.programme-summary-item.is-total{border-left-color:var(--ink-300)}.programme-summary-item.is-total strong{color:var(--ink-900, currentColor)}.drift-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:650;line-height:1;white-space:nowrap;color:var(--drift, var(--ink-500))}.drift-chip i{width:7px;height:7px;border-radius:50%;background:var(--drift, var(--ink-400, #94a3b8));flex:none}.drift-chip.is-rollup{font-weight:600}.programme-grid-wrap{overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.programme-grid{border-collapse:separate;border-spacing:0;font-size:12px}.programme-grid th,.programme-grid td{border-bottom:1px solid var(--hairline));padding:6px 8px;text-align:left;vertical-align:top}.programme-grid thead th{position:sticky;top:0;z-index:2;background:var(--surface-quiet));font-size:11px;font-weight:650;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em}.programme-grid .pg-col{min-width:168px}.programme-grid .pg-col-name{display:block;color:var(--ink-700, currentColor)}.programme-grid .pg-col-lots{display:block;font-size:10px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-500)}.programme-grid .pg-col.is-unassigned .pg-col-name{font-style:italic;color:var(--ink-500)}.programme-grid .pg-corner,.programme-grid .pg-trade{position:sticky;left:0;z-index:1;min-width:148px;max-width:220px;background:var(--surface-quiet))}.programme-grid .pg-corner{z-index:3}.programme-grid .pg-trade{font-weight:500}.programme-grid .pg-trade-name{display:block;color:var(--ink-700, currentColor);overflow:hidden;text-overflow:ellipsis}.programme-grid .pg-trade-meta{display:block;font-size:10.5px;color:var(--ink-500)}.programme-grid .pg-row--parent .pg-trade-name{font-weight:700}.programme-grid .pg-row--parent td{background:var(--surface-quiet, rgba(127, 127, 127, .04))}.programme-grid .pg-cell.is-unassigned{background:#7f7f7f0d}.programme-grid .pg-empty{color:var(--ink-400, #94a3b8)}.pg-dates{display:flex;align-items:center;gap:3px;margin-top:3px}.pg-date{flex:1;min-width:0;font-size:11px;padding:2px 4px;border-radius:6px;border:1px solid transparent;background:var(--surface-quiet));color:inherit}.pg-date:hover{border-color:var(--ink-300, rgba(127, 127, 127, .25))}.pg-date:focus{border-color:var(--swatch-blue, #527cf2);outline:none}.pg-add,.pg-clear{border:1px dashed var(--hairline));background:none;color:var(--ink-500);border-radius:6px;line-height:1;cursor:pointer;padding:2px 7px;font-size:13px}.pg-clear{border-style:solid;flex:none;padding:2px 5px}.pg-add:hover,.pg-clear:hover{color:var(--ink-700, currentColor);background:var(--surface-quiet, rgba(127, 127, 127, .08))}.trade-schedule{display:flex;flex-direction:column;gap:6px;margin-top:8px}.trade-schedule-row{border:1px solid var(--hairline));border-radius:9px;padding:6px 8px}.trade-schedule-row.is-unassigned .name{font-style:italic;color:var(--ink-500)}.trade-schedule-head{display:flex;align-items:center;gap:6px}.trade-schedule-head .name{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trade-schedule-head .meta{margin-right:auto}.trade-schedule-sub{font-size:11px;color:var(--ink-500);padding-top:3px}.marquee.is-select{border:1.5px dashed var(--info, #3b82f6);background:#3b82f61a}.block-name-add{display:flex;gap:6px;margin-top:10px}.block-name-add input{flex:1;min-width:0;padding:6px 9px;font:inherit;font-size:12px;color:var(--ink-900);border:1px solid var(--stroke, rgba(20,24,60,.14));border-radius:8px;background:var(--surface-quiet))}.block-name-add input:focus{outline:none;border-color:var(--accent, #f5a524)}.block-name-add .btn{flex:none}@media(prefers-reduced-motion:reduce){:root{--dur-fast: .01ms;--dur-base: .01ms;--dur-slow: .01ms;--motion-scale: 0}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.sidebar-footer .pulse,.bg-blobs,.bg-blob{animation:none!important}.recent-card:hover,.recent-card:active{transform:none}}.qc-tag.qc-tag-insp{background:#cdd5ffe6;color:#4048c4}[data-palette=dark] .qc-tag.qc-tag-insp{background:#262c60e6;color:#a7b4ff}[data-palette=dark] .qc-tag.qc-tag-insp{color:#c4a8ff}.qc-new-insp{width:100%;margin-top:6px;justify-content:center}.qi-hint{color:var(--ink-500);font-size:12px;margin:4px 0 0}.qi-warn{color:var(--status-target, #e23a3a);font-size:12px;margin:4px 0 0}.qi-inline-check{display:inline-flex;align-items:center;gap:6px;font-size:13px}.qi-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.qi-dot.rag-green{background:var(--status-dn)}.qi-dot.rag-amber{background:var(--status-ip)}.qi-dot.rag-red{background:var(--status-target, #e23a3a)}.qi-rooms{padding:8px 10px 12px;border-left:2px solid var(--line);margin:2px 0 10px 8px}.qi-rooms-empty{display:flex;flex-direction:column;gap:8px;align-items:flex-start;color:var(--ink-500);font-size:13px}.qi-rooms-head{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-500);margin-bottom:6px}.qi-rooms-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.qi-rooms-row{display:grid;grid-template-columns:minmax(90px,1.4fr) auto repeat(3,minmax(70px,1fr)) auto auto auto;gap:6px;align-items:center}.qi-rooms-row input[type=text],.qi-rooms-row select{min-width:0}.qi-wet{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.qi-rooms-add{display:flex;gap:6px;margin-top:8px}.qi-rooms-add input{flex:1}.qi-rooms-note{font-size:11px;color:var(--ink-500);margin:8px 0 0}.qi-assessor-add{display:flex;gap:8px;align-items:flex-end;margin-bottom:10px}.qi-assessor-add .field{flex:1;margin:0}.qi-assessor-list{display:flex;flex-direction:column;gap:5px;max-height:320px;overflow-y:auto}.qi-assessor-row{display:grid;grid-template-columns:1fr auto auto auto;gap:6px;align-items:center}.qi-assessor-row.inactive{opacity:.55}.qi-panel{display:flex;flex-direction:column;gap:10px}.qi-overlay-toggle{display:flex;gap:4px}.qi-overlay-toggle .btn{flex:1;min-width:0;padding-left:6px;padding-right:6px;white-space:nowrap}.qi-cover-bar{height:6px;border-radius:3px;background:var(--status-ns-soft);overflow:hidden}.qi-cover-fill{display:block;height:100%;background:var(--status-dn);transition:width .22s ease}.qi-cover-label{display:block;font-size:12px;color:var(--ink-500);margin-top:4px}.qi-mini{width:100%;font-size:13px;border-collapse:collapse}.qi-mini td{padding:3px 0}.qi-mini td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.qi-mini-warn td{color:var(--status-target, #e23a3a)}.qi-avg{font-size:13px;margin:2px 0 0}.qi-panel-actions{display:flex;flex-direction:column;gap:5px}.qi-grid-modal{min-width:min(1000px,96vw);max-height:92vh;display:flex;flex-direction:column;gap:10px}.qi-grid-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.qi-grid-title{min-width:0;flex:1}.qi-grid-head h2{margin:0;overflow-wrap:anywhere;line-height:1.15}.qi-grid-score{flex:none}.qi-grid-score{text-align:right;line-height:1.2}.qi-grid-score strong{display:block;font-size:26px;font-variant-numeric:tabular-nums}.qi-grid-score strong.rag-green{color:var(--status-dn)}.qi-grid-score strong.rag-amber{color:var(--status-ip)}.qi-grid-score strong.rag-red{color:var(--status-target, #e23a3a)}.qi-grid-score span{font-size:11px;color:var(--ink-500)}.qi-rounds{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:6px}.qi-round{display:flex;align-items:baseline;gap:5px;padding:3px 8px;border-radius:7px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:12px;font-weight:600}.qi-round.active{border-color:var(--accent);background:var(--accent-soft, rgba(82,125,242,.12))}.qi-round-pct{font-weight:400;font-variant-numeric:tabular-nums;color:var(--ink-500)}.qi-regress{margin:6px 0 0;font-size:12px;color:var(--status-target, #e23a3a);font-weight:600}.qi-who{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.qi-who .field{margin:0;min-width:140px}.qi-tabs{display:flex;gap:4px;flex-wrap:wrap}.qi-tab{padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:13px;position:relative}.qi-tab.active{border-color:var(--accent);background:var(--accent-soft, rgba(82,125,242,.12));font-weight:600}.qi-tab-none{opacity:.65}.qi-tab-part:after{content:"";position:absolute;top:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--status-ip)}.qi-tab-full:after{content:"";position:absolute;top:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--status-dn)}.qi-tab-ext{font-size:9px;margin-left:4px;opacity:.7;text-transform:uppercase}.qi-el-head{display:flex;justify-content:space-between;font-size:13px;padding:0 2px}.qi-el-tc{color:var(--ink-500);font-variant-numeric:tabular-nums}.qi-grid-wrap{overflow:auto;max-height:46vh;border:1px solid var(--line);border-radius:10px}.qi-grid-wrap:focus{outline:2px solid var(--accent);outline-offset:-2px}.qi-grid{border-collapse:collapse;width:100%;font-size:13px}.qi-grid th{position:sticky;top:0;z-index:1;background:var(--surface, #fff);padding:7px 6px;text-align:center;font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap}[data-palette=dark] .qi-grid th{background:var(--ink-900, #131722)}.qi-grid td{padding:2px;text-align:center;border-bottom:1px solid rgba(128,128,128,.12)}.qi-grid tr.wet{background:#527df20d}.qi-grid th.qi-room,.qi-grid td.qi-room{position:sticky;left:0;z-index:2;background:inherit;text-align:left;padding-left:10px;white-space:nowrap}.qi-grid th.qi-room{z-index:3;background:var(--surface, #fff)}[data-palette=dark] .qi-grid th.qi-room{background:var(--ink-900, #131722)}.qi-inst{font-size:10px;color:var(--ink-500);margin-left:4px}.qi-wet-chip{font-size:9px;margin-left:5px;padding:1px 4px;border-radius:4px;background:#527df229;color:#3c62c9;text-transform:uppercase}.qi-std-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-left:4px;vertical-align:super}.qi-crit-code{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--ink-500)}.qi-crit-name{display:block;font-weight:600}.qi-items{display:flex;flex-wrap:wrap;gap:2px;margin-top:3px;max-width:168px}.qi-item{padding:1px 4px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.04em;border:1px solid var(--line);background:transparent;color:var(--ink-500);cursor:pointer;line-height:1.5}.qi-item.on{border-color:var(--accent);background:var(--accent-soft, rgba(82,125,242,.14));color:var(--accent)}.qi-item:disabled{cursor:default;opacity:.75}.qi-rooms-modal{min-width:min(760px,96vw);max-height:92vh;overflow:auto}.qi-cell{width:30px;height:26px;border-radius:5px;border:1px solid transparent;background:var(--status-ns-soft);cursor:pointer;font-size:14px;line-height:1;padding:0}.qi-cell:disabled{cursor:default}.qi-cell.qi-m-C{background:#2bb67333;color:#1f7d54}.qi-cell.qi-m-X{background:#e23a3a38;color:#b53030;font-weight:700}.qi-cell.qi-m-N{background:transparent;color:var(--ink-500)}.qi-cell.qi-m-na0{background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(128,128,128,.1) 3px,rgba(128,128,128,.1) 6px)}.qi-cell.cursor{border-color:var(--accent);box-shadow:0 0 0 2px #527df240}[data-palette=dark] .qi-cell.qi-m-C{color:#5fe19c}[data-palette=dark] .qi-cell.qi-m-X{color:#ff9090}.qi-grid-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qi-keys{flex:1;font-size:11px;color:var(--ink-500);text-align:right}.qi-flags{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13px}.qi-flag-note{max-width:160px;margin-left:6px}.qi-findings{border:1px solid var(--line);border-radius:10px;padding:6px 10px}.qi-findings.open{padding-bottom:10px}.qi-findings-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qi-findings-toggle{flex:1;display:flex;align-items:center;gap:6px;padding:2px 0;background:none;border:0;cursor:pointer;font:inherit;font-size:13px;font-weight:600;color:inherit;text-align:left}.qi-findings-toggle svg{width:14px;height:14px;transition:transform .12s ease}.qi-findings.open .qi-findings-toggle svg{transform:rotate(90deg)}.qi-findings-toggle .qi-hint{display:inline;margin:0;font-weight:400}.qi-findings-empty{margin:8px 0 0}.qi-finding-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.qi-finding{display:flex;gap:10px;align-items:flex-start;padding:6px;border-radius:8px;background:#8080800f}.qi-finding-prev .qi-finding{opacity:.62}.qi-finding-body{flex:1;min-width:0}.qi-finding-note{margin:0;font-size:13px;word-break:break-word}.qi-finding-where{margin:2px 0 0;font-size:11px;color:var(--ink-500);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qi-finding-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.qi-finding-actions svg{width:13px;height:13px}.qi-finding-strip-thumbs{display:flex;gap:2px;align-items:center;flex-shrink:0}.qi-finding-strip-thumbs img{width:38px;height:38px;object-fit:cover;border-radius:5px;background:#80808026}.qi-more{font-size:10px;color:var(--ink-500)}.qi-sev{padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.qi-sev-critical{background:#e23a3a2e;color:#b53030}.qi-sev-major{background:#e8982a2e;color:#9a6414}.qi-sev-minor{background:#80808029;color:var(--ink-500)}[data-palette=dark] .qi-sev-critical{color:#ff9090}[data-palette=dark] .qi-sev-major{color:#f0bb6a}.qi-sent{padding:1px 5px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;background:#2bb6732e;color:#1f7d54}[data-palette=dark] .qi-sent{color:#5fe19c}.qi-findings-prev-head{margin:10px 0 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500)}.qi-finding-prev{margin-top:4px}.qi-grid td{position:relative}.qi-cell-finding{position:absolute;top:0;right:0;width:13px;height:13px;padding:0;border:0;border-radius:0 5px;cursor:pointer;line-height:12px;font-size:11px;font-weight:700;background:#e23a3a59;color:#fff;opacity:0;transition:opacity .1s ease}.qi-td-failed:hover .qi-cell-finding,.qi-cell-finding:focus-visible{opacity:1}.qi-finding-modal{min-width:min(560px,94vw);display:flex;flex-direction:column;gap:10px}.qi-finding-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qi-finding-fields .field{margin:0}.qi-optional{font-weight:400;font-size:11px;color:var(--ink-500)}.qi-finding-photos{border-top:1px solid var(--line);padding-top:8px}.qi-finding-photos-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600}.qi-finding-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.qi-finding-thumb{position:relative}.qi-finding-thumb img{width:92px;height:92px;object-fit:cover;border-radius:6px;background:#80808026}.qi-thumb-x{position:absolute;top:-5px;right:-5px;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface, #fff);cursor:pointer;display:grid;place-items:center}.qi-thumb-x svg{width:10px;height:10px}.qi-raise-modal{min-width:min(440px,94vw);display:flex;flex-direction:column;gap:8px}.lic-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid var(--status-warn, #d98324);color:var(--status-warn, #d98324);background:color-mix(in srgb,var(--status-warn, #d98324) 12%,transparent)}.lic-chip:hover{background:color-mix(in srgb,var(--status-warn, #d98324) 20%,transparent)}.lic-modal{min-width:min(560px,94vw);display:flex;flex-direction:column;gap:10px}.lic-id{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:#80808014}.lic-id code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:15px;letter-spacing:.06em;font-weight:600}.lic-modal textarea{width:100%;resize:vertical;min-height:74px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;line-height:1.5}.lic-status{font-size:12px;padding:8px 10px;border-radius:6px}.lic-status--ok{color:var(--status-ok, #2e7d54);background:color-mix(in srgb,var(--status-ok, #2e7d54) 12%,transparent)}.lic-status--bad{color:var(--status-bad, #c0392b);background:color-mix(in srgb,var(--status-bad, #c0392b) 12%,transparent)}.keygen-root{max-width:620px;margin:0 auto;padding:28px 24px 48px;display:flex;flex-direction:column;gap:18px}.keygen-head h1{font-size:20px;margin:0}.keygen-sub{font-size:12px;color:var(--ink-500);margin:4px 0 0}.keygen-banner{font-size:13px;padding:10px 12px;border-radius:8px;line-height:1.5}.keygen-banner--ok{color:var(--status-ok, #2e7d54);background:color-mix(in srgb,var(--status-ok, #2e7d54) 12%,transparent)}.keygen-banner--bad{color:var(--status-bad, #c0392b);background:color-mix(in srgb,var(--status-bad, #c0392b) 12%,transparent)}.keygen-path{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;margin-top:6px;opacity:.8;word-break:break-all}.keygen-form{display:flex;flex-direction:column;gap:14px}.keygen-form input{font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.04em}.keygen-help{font-size:11px;color:var(--ink-500);margin:4px 0 0;line-height:1.5}.keygen-warn{color:var(--status-warn, #d98324)}.keygen-issue{align-self:flex-start}.keygen-result{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:8px}.keygen-result h2{font-size:15px;margin:0}.keygen-result textarea{width:100%;resize:vertical;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;line-height:1.5}.keygen-actions{display:flex;gap:8px;flex-wrap:wrap}.keygen-foot{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:12px}.keygen-banner-actions{margin-top:10px}.keygen-panel{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:12px}.keygen-panel h3{font-size:14px;margin:0}.tb-cat-list{display:flex;flex-direction:column;gap:14px;max-height:52vh;overflow-y:auto}.tb-cat{border:1px solid var(--line);border-radius:8px;padding:10px 12px}.tb-cat-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tb-cat-name{font-weight:600;letter-spacing:.04em;flex:1}.tb-group{border-left:2px solid var(--line);margin:8px 0 8px 6px;padding-left:10px}.tb-group-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.tb-group-head input{flex:1;min-width:0}.tb-type{display:flex;align-items:center;gap:6px;margin:4px 0 4px 8px;flex-wrap:wrap}.tb-type>input{flex:1 1 140px;min-width:0}.tb-add{margin:6px 0 2px 8px}.tb-field-list{display:flex;flex-direction:column;gap:10px;max-height:50vh;overflow-y:auto}.tb-field-row{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.tb-field-main{display:flex;align-items:center;gap:6px}.tb-field-main>input[type=text]{flex:1 1 120px;min-width:0}.tb-unit{flex:0 0 64px!important}.tb-field-rule{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.tb-rule-label{font-size:11px;color:var(--ink-500);flex:0 0 74px}.tb-num{flex:0 0 84px}.tb-rule-preview{font-size:11px;color:var(--ink-500);font-style:italic}.tb-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tb-template-name{flex:1 1 160px;min-width:0}.ts-scope-body{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ts-scope-col{min-width:0}.ts-scope-types,.ts-scope-blocks{max-height:40vh;overflow-y:auto}.ts-scope-group{margin-bottom:10px}.ts-group-toggle{width:100%;justify-content:flex-start;margin-bottom:4px;font-weight:600}.ts-seg{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.ts-seg .btn.active{background:var(--accent-soft, rgba(120,140,255,.18));border-color:var(--accent, #6b7cff)}.ts-scope-readout{margin-top:14px}@media(max-width:720px){.ts-scope-body{grid-template-columns:1fr}}.canvas-column{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0}.canvas-column>.canvas-panel{flex:1 1 auto;min-width:0;min-height:0}.test-arm-palette{position:absolute;top:12px;left:50%;transform:translate(calc(-50% + var(--ddlg-x, 0px)),var(--ddlg-y, 0px));z-index:5;display:flex;flex-direction:column;gap:8px;width:max-content;max-width:min(880px,calc(100% - 24px));padding:10px 12px;border-radius:var(--radius-lg);white-space:normal;font-size:12.5px}.test-arm-palette.dragging{box-shadow:var(--glass-shadow-lg)}.tap-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.tap-status{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;padding-bottom:8px;border-bottom:1px solid var(--hairline)}.test-arm-palette.dragging .tap-status{cursor:grabbing}.tap-status>svg:first-child{flex:none;color:var(--ink-300)}.tap-rec{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--status-done, #22c55e)}.tap-rec.result-fail{color:var(--status-target, #e23a3a)}.tap-rec.result-na{color:var(--ink-500)}.tap-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 2s ease-in-out infinite}.tap-type{flex:0 1 220px;min-width:0}.tap-hint{font-size:11px;color:var(--ink-500)}.tap-stop kbd{font-family:inherit;font-size:9px;margin-left:4px;border:1px solid var(--hairline);border-radius:4px;padding:0 3px}.tap-results .test-result-btn{min-height:40px;min-width:84px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px}.tap-results .test-result-btn kbd{font-family:inherit;font-size:9px;opacity:.65;border:1px solid currentColor;border-radius:4px;padding:0 3px}.tap-field{display:inline-flex;align-items:center;gap:6px;min-width:0}.tap-label{font-size:11px;color:var(--ink-500);white-space:nowrap}.tap-field select{flex:0 1 160px;min-width:0}.tap-free{flex:0 1 160px;min-width:0;min-height:28px;padding:2px 8px;border:1px solid var(--hairline);border-radius:var(--radius-xs, 8px);background:var(--surface-quiet);transition:border-color var(--dur-fast) var(--ease-standard)}.tap-free:focus{border-color:var(--accent, #5b6cff);outline:none}.tap-warn{font-size:11.5px;line-height:1.45;color:var(--status-warn, #d98324);background:#eab30824;border:1px solid rgba(234,179,8,.4);border-radius:var(--radius-xs, 8px);padding:6px 10px}.tap-warn>svg{flex:none}.tap-warn>span{flex:1;min-width:200px}[data-palette=dark] .tap-warn{color:#fde68a;background:#eab3081f}.test-arm-hint{font-size:11px;color:var(--ink-500);margin-left:auto}.test-arm-hint kbd{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;border:1px solid var(--hairline);border-radius:4px;padding:0 4px;margin:0 1px}.test-arm-fields{display:flex;gap:12px;flex-wrap:wrap}.test-arm-scope-warn{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--status-warn, #d98324)}.tf-field{display:inline-flex;align-items:center;gap:6px;font-size:11px}.tf-label{color:var(--ink-500)}.tf-num{width:78px;min-height:28px;padding:2px 8px;border:1px solid var(--hairline);border-radius:var(--radius-xs, 8px);background:var(--surface-quiet);transition:border-color var(--dur-fast) var(--ease-standard)}.tf-num:focus{border-color:var(--accent, #5b6cff);outline:none}.tf-unit{color:var(--ink-500)}.tf-paired{display:inline-flex;align-items:center;gap:4px}.modal-veil-clear{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.fail-popover{max-width:380px;padding:14px;animation-duration:var(--dur-fast)}.fail-popover h3{display:flex;align-items:center;gap:6px;font-size:13px;margin:0 0 8px}.fail-popover textarea{width:100%;resize:vertical}.fail-popover-actions{display:flex;align-items:center;gap:6px;margin-top:10px}.ts-sheet{width:min(880px,100%)}.ts-sheet-body{display:flex;flex-direction:column;gap:20px;max-height:58vh;overflow-y:auto;overscroll-behavior:contain}.ts-block{display:flex;flex-direction:column;gap:8px;animation:section-open var(--dur-base) var(--ease-standard) both}.ts-block:nth-of-type(2){animation-delay:40ms}.ts-block:nth-of-type(n+3){animation-delay:80ms}.ts-block-head{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500);margin:0}.ts-block-count{font-size:11px;font-weight:700;letter-spacing:0;background:var(--surface-panel);border:1px solid var(--hairline);border-radius:999px;padding:0 7px}.ts-block-sub{font-size:11.5px;color:var(--ink-500);margin:-4px 0 2px;line-height:1.45}.ts-block-pending{border-top:1px solid var(--line);padding-top:16px}.ts-summary{margin-bottom:20px}.ts-meter{height:6px;border-radius:999px;overflow:hidden;background:var(--surface-panel);border:1px solid var(--hairline)}.ts-meter-fill{display:block;height:100%;border-radius:999px;background:var(--accent, #5b6cff);transition:width var(--dur-slow) var(--ease-standard)}.ts-summary-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:13px}.ts-chip{font-size:11px;font-weight:600;color:var(--ink-500);border:1px solid var(--hairline);border-radius:999px;padding:1px 8px}.ts-chip-pass{color:var(--status-done, #22c55e);border-color:currentColor}.ts-chip-fail{color:var(--status-target, #e23a3a);border-color:currentColor}.ts-gaps{display:flex;flex-direction:column;gap:6px;margin-top:4px}.ts-gap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;line-height:1.45;color:var(--ink-500);border:1px dashed var(--line);border-radius:8px;padding:7px 10px}.ts-gap>svg{flex:none}.ts-gap>span{flex:1;min-width:160px}.ts-gap-warn{color:var(--status-warn, #d98324);border-color:currentColor}.ts-empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.ts-empty-actions{display:flex;gap:6px;flex-wrap:wrap}.ts-rollup-row{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.ts-section{display:flex;flex-direction:column;gap:6px}.ts-row{border:1px solid var(--line);border-radius:8px;padding:8px 10px;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.ts-row:hover{border-color:var(--hairline);background:var(--surface-quiet)}.ts-row-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 10px}.ts-row-ident{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.ts-row-acts{display:flex;align-items:center;gap:6px;justify-self:end;flex:none}.ts-row-acts:empty{display:none}.ts-row-type{font-weight:600}.ts-row-loc{color:var(--ink-500);font-size:12px}.ts-attempts{display:inline-flex;gap:4px;flex-wrap:wrap}.ts-attempt{border:1px solid var(--hairline);border-radius:6px;background:transparent;font-size:10px;font-weight:700;padding:3px 7px;min-height:24px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}.ts-attempt:hover{background:var(--surface-panel)}.ts-attempt.active{border-color:currentColor}.ts-row-body{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.ts-override{font-size:11px;color:var(--status-warn, #d98324)}.ts-row-note{display:flex;align-items:center;gap:6px;margin-top:6px}.ts-row-note input{flex:1;min-width:0}.ts-row-note.flagged input{border-color:var(--status-warn, #d98324)}.ts-flag{font-size:10px;color:var(--status-warn, #d98324);white-space:nowrap}.ts-row-foot{font-size:10px;margin-top:4px}.ts-outstanding{border:1px dashed var(--line);border-radius:8px;padding:6px 10px;opacity:.72;transition:opacity var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}.ts-outstanding:hover{opacity:.9}.ts-outstanding.open{opacity:1;border-style:solid;border-color:var(--accent, #5b6cff)}.ts-outstanding-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ts-unsaved{font-size:10px;font-weight:700;color:var(--accent, #5b6cff);border:1px solid currentColor;border-radius:6px;padding:1px 6px;white-space:nowrap}.ts-draft-hint{font-size:10.5px;color:var(--ink-500)}.ts-raised{font-size:10px;font-weight:700;color:var(--ink-500);border:1px solid var(--hairline);border-radius:6px;padding:1px 6px}.test-chip-fail{color:var(--status-target, #e23a3a);border-color:var(--status-target, #e23a3a)}.ts-reports{margin-top:12px;display:flex;flex-direction:column;gap:6px}.ts-report-btn{width:100%;justify-content:flex-start}.xz-app[data-theme]{--xz-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--xz-mono: ui-monospace, Menlo, monospace;--xz-ink: #121216;--xz-ink-2: #3a3a44;--xz-ink-3: #55555e;--xz-grey: #8e8e98;--xz-grey-2: #a6a6b0;--xz-grey-3: #b3b3bd;--xz-muted: #6e6e78;--xz-hint: #6e7690;--xz-blue: #2a6fdd;--xz-blue-2: #3f8ef5;--xz-blue-deep: #2468d8;--xz-on-blue: #ffffff;--xz-green: #2fc266;--xz-green-ink: #16803f;--xz-green-deep: #1da253;--xz-red: #e5484d;--xz-red-ink: #d93a3e;--xz-orange: #f2890f;--xz-orange-ink: #c86a00;--xz-orange-text: #6b4a1e;--xz-purple: #7b4fea;--xz-focus: rgba(63, 142, 245, .45);--xz-bg-field: linear-gradient(128deg, #fbdcd8 0%, #f6e4ec 28%, #e0e1f2 50%, #b9cdea 76%, #93b3de 100%);--xz-bg-chat: linear-gradient(160deg, #f7ecf1 0%, #eceaf4 45%, #d6e1f1 100%);--xz-bg-form: linear-gradient(160deg, #f7eef2 0%, #eeedf5 50%, #dce5f2 100%);--xz-bg-pin: linear-gradient(160deg, #eef0f7 0%, #e3e8f3 100%);--xz-bg-preview: linear-gradient(160deg, #e3e7f0, #c9d3e3);--xz-page: #e9e3ee;--xz-ground-hi: #fbdcd8;--xz-ground-lo: #93b3de;--xz-card-bg: linear-gradient(160deg, rgba(255, 255, 255, .9), rgba(246, 244, 250, .64));--xz-card-edge: rgba(255, 255, 255, .95);--xz-card-shadow: 0 14px 28px -14px rgba(86, 98, 140, .38), inset 0 1px 0 #fff;--xz-panel-bg: rgba(251, 249, 252, .62);--xz-panel-edge: rgba(255, 255, 255, .85);--xz-panel-shadow: 0 28px 56px -18px rgba(76, 96, 150, .35), inset 0 1px 0 rgba(255, 255, 255, .95);--xz-bar-bg: rgba(250, 248, 252, .7);--xz-bar-edge: rgba(255, 255, 255, .75);--xz-bar-shadow: 0 10px 26px -18px rgba(70, 90, 140, .45);--xz-float-bg: rgba(251, 249, 252, .78);--xz-float-edge: rgba(255, 255, 255, .9);--xz-float-shadow: 0 18px 36px -16px rgba(50, 70, 130, .5), inset 0 1px 0 #fff;--xz-sheet-bg: rgba(251, 249, 252, .9);--xz-group-bg: rgba(251, 249, 252, .86);--xz-dialog-bg: rgba(251, 249, 252, .92);--xz-field-bg: rgba(255, 255, 255, .8);--xz-field-edge: rgba(255, 255, 255, .95);--xz-field-inset: inset 0 1px 3px rgba(80, 90, 120, .12);--xz-chip-bg: rgba(255, 255, 255, .7);--xz-seg-bg: rgba(120, 120, 150, .12);--xz-seg-on: #ffffff;--xz-divider: rgba(20, 20, 40, .06);--xz-divider-2: rgba(20, 20, 40, .1);--xz-press: rgba(0, 0, 0, .04);--xz-press-2: rgba(0, 0, 0, .06);--xz-veil: rgba(24, 28, 48, .28);--xz-err-ring: 0 0 0 2px rgba(229, 72, 77, .55);--xz-blur: 22px;--xz-blur-lg: 26px;--xz-primary-bg: linear-gradient(180deg, #56a0fa, #2a6fdd);--xz-primary-shadow: 0 12px 22px -10px rgba(42, 111, 221, .7), inset 0 1px 0 rgba(255, 255, 255, .35);--xz-secondary-bg: linear-gradient(160deg, #fff, #eef0f6);--xz-secondary-shadow: 0 8px 18px -10px rgba(80, 90, 130, .5);--xz-orb-blue: radial-gradient(circle at 34% 28%, #8cc4ff 0%, #3f8ef5 42%, #2468d8 100%);--xz-orb-green: radial-gradient(circle at 34% 28%, #8ef0b2 0%, #38cb6f 42%, #1da253 100%);--xz-orb-red: radial-gradient(circle at 34% 28%, #ff9c9c 0%, #f75a5a 42%, #d93a3e 100%);--xz-orb-orange: radial-gradient(circle at 34% 28%, #ffc06a 0%, #f7a035 45%, #f2890f 100%);--xz-orb-purple: radial-gradient(circle at 35% 30%, #b79bff, #7b4fea 70%);--xz-orb-white: linear-gradient(160deg, #ffffff, #eceef5);--xz-tile-blue: linear-gradient(160deg, #6e9df2, #2f62d8);--xz-tile-green: linear-gradient(160deg, #4fd98a, #1e9f55);--xz-tile-orange: linear-gradient(160deg, #ffb35c, #f08a1c);--xz-tile-teal: linear-gradient(160deg, #4fd6c0, #1fae97);--xz-tile-purple: linear-gradient(160deg, #c08bf5, #9a5be3);--xz-tile-yellow: linear-gradient(160deg, #ffd66b, #f2b90f);--xz-tile-grey: linear-gradient(160deg, #a9b3c4, #7d889b);--xz-ease: cubic-bezier(.32, .72, 0, 1);--xz-spring: cubic-bezier(.3, 1.4, .5, 1);font-family:var(--xz-font);font-variant-numeric:tabular-nums;color:var(--xz-ink);--font-ui: var(--xz-font);--font-mono: var(--xz-mono);--ink-900: var(--xz-ink);--ink-700: var(--xz-ink-3);--ink-500: var(--xz-grey);--ink-400: var(--xz-grey-2);--ink-300: var(--xz-grey-3);--ink-200: var(--xz-seg-bg);--accent: var(--xz-blue);--accent-press: #1f58b8;--accent-soft: rgba(63, 142, 245, .11);--accent-wash: rgba(63, 142, 245, .11);--hairline: var(--xz-divider);--surface-panel: #ffffff;--status-defect: var(--xz-red);--spring-snap: var(--xz-spring)}.xz-app[data-theme]:is([data-transparency=reduced],[data-quality=static]){--xz-card-bg: #fbfafc;--xz-panel-bg: #f6f3f7;--xz-bar-bg: #faf8fc;--xz-float-bg: #fbf9fc;--xz-sheet-bg: #fbf9fc;--xz-group-bg: #fbf9fc;--xz-dialog-bg: #fbf9fc;--xz-field-bg: #ffffff;--xz-chip-bg: #ffffff;--xz-blur: 0px;--xz-blur-lg: 0px}.xz-app[data-theme][data-site]{--xz-ink: #000000;--xz-ink-2: #1c1c22;--xz-ink-3: #26262e;--xz-grey: #3d3d47;--xz-grey-2: #4a4a55;--xz-grey-3: #4a4a55;--xz-muted: #33333c;--xz-hint: #2f3547;--xz-blue: #1a56b8;--xz-green-ink: #0f5c2d;--xz-red-ink: #a3151b;--xz-orange-ink: #7a4000;--xz-orange-text: #4a3010;--xz-ground: #ffffff;--xz-ground-2: #f2f2f6;--xz-bg-field: #f2f2f6;--xz-bg-chat: #f2f2f6;--xz-bg-form: #f2f2f6;--xz-bg-pin: #f2f2f6;--xz-bg-preview: #dfe3ea;--xz-card-bg: #ffffff;--xz-card-edge: rgba(0, 0, 0, .35);--xz-card-shadow: none;--xz-panel-bg: #f2f2f6;--xz-panel-edge: rgba(0, 0, 0, .2);--xz-panel-shadow: none;--xz-bar-bg: #ffffff;--xz-bar-edge: rgba(0, 0, 0, .35);--xz-bar-shadow: none;--xz-float-bg: #ffffff;--xz-float-edge: rgba(0, 0, 0, .45);--xz-sheet-bg: #ffffff;--xz-group-bg: #ffffff;--xz-dialog-bg: #ffffff;--xz-field-bg: #ffffff;--xz-field-edge: rgba(0, 0, 0, .45);--xz-chip-bg: #ffffff;--xz-divider: rgba(0, 0, 0, .2);--xz-divider-2: rgba(0, 0, 0, .3);--xz-seg-bg: #dfe1e8;--xz-primary-bg: #1a56b8;--xz-blur: 0px;--xz-blur-lg: 0px;font-weight:500}html:has(.xz-app),body:has(.xz-app){margin:0;padding:0;background:#e9e3ee;overflow:hidden;height:100%}.xz-app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;isolation:isolate;background:var(--xz-bg-field);color:var(--xz-ink);-webkit-font-smoothing:antialiased;--xz-dur: .4s;--xz-top: calc(env(safe-area-inset-top, 0px) + 12px) ;--xz-bot: calc(env(safe-area-inset-bottom, 0px) + 12px) }.xz-app *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:where(.xz-app) :where(button,input,textarea,select){font:inherit;color:inherit}.xz-app button{touch-action:manipulation}.xz-app a{color:var(--xz-blue);text-decoration:none}.xz-app :is(input,textarea)::placeholder{color:var(--xz-grey-2)}.xz-app :is(input,textarea){-webkit-appearance:none;-moz-appearance:none;appearance:none}.xz-app :focus{outline:none}.xz-app button:focus-visible,.xz-app [role=switch]:focus-visible,.xz-app label:focus-within:has(input[type=file]:focus-visible){outline:none;box-shadow:0 0 0 3px var(--xz-focus)!important}.xz-app :is(button,label)[disabled],.xz-app button:disabled,.xz-app [aria-disabled=true]{opacity:.45;cursor:not-allowed}.xz-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}.xz-scroll::-webkit-scrollbar{display:none}.xz-mono{font-family:var(--xz-font);font-variant-numeric:tabular-nums}.xz-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.xz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.xz-spacer{flex:1}.xz-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;transition:transform var(--xz-dur) var(--xz-ease),opacity .32s ease,border-radius var(--xz-dur) ease}.xz-screen[data-dragging]{transition:none}:is(.xz-bg-field,.xz-bg-list){background:var(--xz-bg-field)}:is(.xz-bg-chat,.xz-bg-wall){background:var(--xz-bg-chat)}:is(.xz-bg-form,.xz-bg-quiet){background:var(--xz-bg-form)}.xz-bg-pin{background:var(--xz-bg-pin)}:is(.xz-bg-preview,.xz-bg-slate){background:var(--xz-bg-preview)}.xz-shadow-left{box-shadow:-12px 0 30px #28325a24}.xz-card{display:flex;flex-direction:column;flex:none;overflow:hidden;background:var(--xz-card-bg);border:1px solid var(--xz-card-edge);border-radius:22px;box-shadow:var(--xz-card-shadow)}.xz-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 12px;border-bottom:1px solid var(--xz-divider)}.xz-card-head>strong{font-size:17px;font-weight:700}.xz-card-head>span{font-size:12px;color:var(--xz-grey-2);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xz-card--pad{padding:14px 16px 16px;gap:12px}.xz-card--pad>strong{font-size:17px;font-weight:700}.xz-section{display:flex;flex-direction:column;gap:8px;flex:none}.xz-section-title{padding:6px 6px 0;font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--xz-grey);text-transform:uppercase}.xz-note{margin:0;padding:0 6px;font-size:12.5px;line-height:1.45;color:var(--xz-muted)}.xz-note--flat{margin:0}.xz-hint{font-size:12px;color:var(--xz-hint);padding:4px 8px;line-height:1.4}.xz-link{width:100%;min-height:60px;display:flex;align-items:center;gap:12px;padding:8px 16px;border:0;border-top:1px solid var(--xz-divider);background:transparent;color:var(--xz-ink);font-size:15px;font-weight:600;text-align:left;cursor:pointer;position:relative}.xz-card>.xz-link:first-child,.xz-card-head+.xz-link{border-top:0}.xz-link:active{background:var(--xz-press)}.xz-link>svg{flex:none;color:var(--xz-grey-3)}.xz-link-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.xz-link-text strong{font-size:15px;font-weight:600;color:var(--xz-ink);overflow-wrap:anywhere}.xz-link-text span{font-size:12.5px;font-weight:400;color:var(--xz-grey);line-height:1.35;overflow-wrap:anywhere}.xz-link--tall{min-height:64px;padding:10px 16px}.xz-link--accent .xz-link-text strong,.xz-link--accent{color:var(--xz-blue)}.xz-link--danger,.xz-link--danger .xz-link-text strong,.xz-link--danger>svg{color:var(--xz-red)}.xz-link[aria-pressed=true]>svg:last-child,.xz-app .xz-ic-accent{color:var(--xz-blue)}.xz-row-split{display:flex;align-items:center;border-top:1px solid var(--xz-divider)}.xz-card-head+.xz-row-split{border-top:0}.xz-row-split>.xz-link{flex:1;min-width:0;border-top:0;padding-right:4px}.xz-row-more{width:44px;height:44px;margin-right:6px;flex:none;display:grid;place-items:center;border:0;background:transparent;border-radius:14px;color:var(--xz-grey);cursor:pointer}.xz-row-more:active{background:var(--xz-press-2)}.xz-tile{width:28px;height:28px;border-radius:9px;flex:none;display:grid;place-items:center;color:#fff}.xz-tile--lg{width:32px;height:32px;border-radius:10px}.xz-tile--blue{background:var(--xz-tile-blue);box-shadow:0 4px 8px -3px #2f62d88c}.xz-tile--green{background:var(--xz-tile-green);box-shadow:0 4px 8px -3px #1e9f558c}.xz-tile--orange{background:var(--xz-tile-orange);box-shadow:0 4px 8px -3px #f08a1c8c}.xz-tile--teal{background:var(--xz-tile-teal);box-shadow:0 4px 8px -3px #1fae978c}.xz-tile--purple{background:var(--xz-tile-purple);box-shadow:0 4px 8px -3px #9a5be38c}.xz-tile--yellow{background:var(--xz-tile-yellow)}.xz-tile--grey{background:var(--xz-tile-grey)}.xz-tile--red{background:linear-gradient(160deg,#ff9c9c,#e5484d);box-shadow:0 4px 8px -3px #d93a3e8c}.xz-tile svg{stroke:#fff}.xz-orb{border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.xz-orb--blue{background:var(--xz-orb-blue);box-shadow:9px 13px 20px -6px #2468d880,inset 0 -5px 10px #0a1e5a33,inset 0 4px 8px #ffffff80}.xz-orb--green{background:var(--xz-orb-green);box-shadow:9px 13px 20px -6px #1da25380,inset 0 -5px 10px #0a3c1e33,inset 0 4px 8px #ffffff80}.xz-orb--red{background:var(--xz-orb-red);box-shadow:9px 13px 20px -6px #d93a3e80,inset 0 -5px 10px #5a0a0a33,inset 0 4px 8px #ffffff80}.xz-orb--orange{background:var(--xz-orb-orange);box-shadow:6px 9px 16px -6px #f2890f80,inset 0 3px 6px #ffffff80}.xz-orb--purple{background:var(--xz-orb-purple);box-shadow:3px 5px 10px -3px #7b4fea99}.xz-orb--sm{box-shadow:6px 9px 16px -6px #2468d880,inset 0 3px 6px #ffffff80}.xz-primary{width:100%;height:54px;border:0;border-radius:18px;flex:none;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:650;color:var(--xz-on-blue)!important;background:var(--xz-primary-bg);box-shadow:var(--xz-primary-shadow);transition:transform .15s}.xz-primary svg{stroke:#fff}.xz-primary--52{height:52px}.xz-primary:active{transform:scale(.97)}.xz-secondary{height:50px;border-radius:18px;border:1px solid var(--xz-card-edge);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:650;color:var(--xz-ink);background:var(--xz-secondary-bg);box-shadow:var(--xz-secondary-shadow)}.xz-secondary:active{transform:scale(.97)}.xz-secondary .xz-ic-green{color:var(--xz-green-deep)}.xz-secondary .xz-ic-blue{color:var(--xz-blue)}.xz-pill-blue{height:36px;padding:0 18px;border-radius:18px;border:0;cursor:pointer;flex:none;justify-self:end;color:#fff;background:var(--xz-primary-bg);box-shadow:0 8px 16px -8px #2a6fddb3;font-size:15px;font-weight:700}.xz-pill-blue:active{transform:scale(.95)}.xz-chip{height:36px;padding:0 16px;border-radius:18px;border:1px solid var(--xz-card-edge);cursor:pointer;background:#fff9;font-size:14px;font-weight:600;color:var(--xz-ink)}.xz-chip:active{transform:scale(.96)}.xz-chip--blue{border:0;margin-left:auto;padding:0 18px;color:#fff;background:var(--xz-primary-bg);box-shadow:0 8px 16px -8px #2a6fddb3;font-weight:700}.xz-back-pill{align-self:center;height:44px;padding:0 20px;border-radius:22px;border:1px solid var(--xz-card-edge);cursor:pointer;background:#fff9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:15px;font-weight:600;color:var(--xz-ink)}.xz-back-pill:active{transform:scale(.96)}.xz-danger-soft{width:100%;height:50px;border-radius:18px;border:1px solid var(--xz-card-edge);cursor:pointer;flex:none;background:linear-gradient(160deg,#ffececf2,#fcdcdeb3);color:var(--xz-red-ink);font-size:15px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:8px}.xz-danger-soft:active{transform:scale(.97)}.xz-icon-btn{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;background:transparent;border-radius:14px;color:var(--xz-ink);cursor:pointer;padding:0}.xz-icon-btn:active{background:var(--xz-press-2)}.xz-text-btn{height:44px;padding:0 8px;border:0;background:transparent;color:var(--xz-blue);font-size:16px;cursor:pointer;flex:none;text-align:left}.xz-text-btn--bold{font-weight:700;text-align:right}.xz-text-btn--sm{font-size:15px;padding:0 6px}.xz-bar{position:absolute;left:0;right:0;top:0;z-index:5;padding:var(--xz-top) 8px 8px;min-height:48px;display:flex;align-items:center;gap:6px;background:var(--xz-bar-bg);border-bottom:1px solid var(--xz-bar-edge);box-shadow:var(--xz-bar-shadow);-webkit-backdrop-filter:blur(var(--xz-blur)) saturate(1.6);backdrop-filter:blur(var(--xz-blur)) saturate(1.6);color:var(--xz-ink)}.xz-bar--list{padding:var(--xz-top) 12px 12px;flex-direction:column;align-items:stretch;gap:10px}.xz-bar--grid{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;gap:0}.xz-bar--pin{padding:var(--xz-top) 10px 10px;flex-direction:column;align-items:stretch;gap:8px}.xz-bar--pin>.xz-pin-head{display:grid;grid-template-columns:90px minmax(0,1fr) 90px;align-items:center}.xz-bar-title{flex:1;min-width:0;display:flex;flex-direction:column}.xz-bar-title strong{font-size:18px;font-weight:750;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-bar-title span{font-size:12.5px;color:var(--xz-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-bar-title--plain strong{font-size:18px;font-weight:750}.xz-bar-title--center{align-items:center;text-align:center}.xz-bar-title--center strong{font-size:17px;font-weight:700;max-width:100%}.xz-bar-title--center span{font-size:12px}.xz-live-dot{width:10px;height:10px;border-radius:50%;flex:none;background:var(--xz-green);animation:xzPulse 1.8s ease-out infinite}.xz-list-title{display:flex;align-items:center;gap:6px;min-height:48px}.xz-title-text{flex:1;min-width:0;display:flex;flex-direction:column}.xz-title-text strong{font-size:18px;font-weight:750;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-title-text span{font-size:12px;color:var(--xz-grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-net{height:28px;padding:0 10px;border-radius:14px;display:flex;align-items:center;gap:6px;flex:none;font-size:11.5px;font-weight:600;color:var(--xz-ink-3);background:var(--xz-chip-bg);border:1px solid var(--xz-card-edge);white-space:nowrap}.xz-net i{width:7px;height:7px;border-radius:50%;background:var(--xz-green)}.xz-net[data-off] i{background:var(--xz-orange)}.xz-net-more{display:flex;gap:2px;align-items:center}.xz-search{height:42px;border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#ffffffb8;border:1px solid var(--xz-card-edge);box-shadow:var(--xz-field-inset);color:var(--xz-grey)}.xz-app[data-site] .xz-search{background:#fff;border-color:var(--xz-field-edge)}.xz-search svg{flex:none}.xz-search input{flex:1;min-width:0;height:40px;border:0;background:transparent;font-size:16px;color:var(--xz-ink);outline:none;padding:0}.xz-search-clear{width:22px;height:22px;border-radius:50%;border:0;background:var(--xz-grey-3);display:grid;place-items:center;cursor:pointer;flex:none;color:#fff;padding:0}.xz-selbar{display:flex;flex-direction:column;gap:8px;animation:xzIn .25s ease both}.xz-selrow{display:flex;align-items:center;gap:6px;min-height:48px}.xz-selrow strong{flex:1;font-size:18px;font-weight:750}.xz-chips{display:flex;gap:8px}.xz-list-scroll{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--xz-top) + 118px) 12px calc(var(--xz-bot) + 100px);display:flex;flex-direction:column;gap:12px}.xz-list-scroll[data-selecting]{padding-top:calc(var(--xz-top) + 164px)}.xz-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:20px;flex:none;width:100%;border:1px solid var(--xz-card-edge);text-align:left;cursor:pointer;font-size:13px;line-height:1.35;font-weight:500;background:var(--xz-card-bg);box-shadow:0 12px 24px -14px #56628c73;color:var(--xz-ink-3);animation:xzIn .4s ease both}div.xz-banner{cursor:default}.xz-banner:active{transform:scale(.98)}.xz-banner>i{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:800;color:#fff;background:var(--xz-orb-blue);box-shadow:3px 5px 10px -3px #2468d88c}.xz-banner>i:before{content:"i"}.xz-banner>span{flex:1}.xz-banner>b{font-size:13px;font-weight:700;color:var(--xz-blue);flex:none}.xz-banner--warn{background:linear-gradient(160deg,#fff4e4f2,#ffe2c4b3);box-shadow:0 12px 24px -14px #c8782873;color:var(--xz-orange-text)}.xz-banner--warn>i{background:radial-gradient(circle at 35% 30%,#ffc06a,#f2890f 70%);box-shadow:3px 5px 10px -3px #f2890f99}.xz-banner--warn>i:before{content:"!"}.xz-banner--warn>b{color:var(--xz-orange-ink)}.xz-banner--bad{background:linear-gradient(160deg,#ffececf2,#fcdcdeb3);color:var(--xz-red-ink)}.xz-banner--bad>i{background:var(--xz-orb-red)}.xz-banner--bad>i:before{content:"!"}.xz-banner--bad>b{color:var(--xz-red-ink)}.xz-banner--ok>i{background:var(--xz-orb-green)}.xz-banner--ok>i:before{content:"✓"}.xz-banner--ok>b{color:var(--xz-green-ink)}.xz-block{animation:xzIn .45s ease both}.xz-group-head{width:100%;min-height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;border:0;border-bottom:1px solid var(--xz-divider);background:transparent;cursor:pointer;text-align:left;color:var(--xz-ink)}.xz-group-head[aria-expanded=false]{border-bottom:0}.xz-group-name{font-size:17px;font-weight:700;flex:none}.xz-group-meta{flex:1;font-size:12.5px;color:var(--xz-grey-2);font-weight:500}.xz-chev{color:var(--xz-grey);transition:transform .3s var(--xz-ease);flex:none}.xz-lot{transition:background .25s;animation:xzIn .4s ease calc(var(--i, 0) * 45ms) both;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.xz-lot+.xz-lot{border-top:1px solid var(--xz-divider)}.xz-lot[data-selected]{background:#3f8ef51c}.xz-lot-open{width:100%;min-height:66px;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 16px;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit}.xz-lot-open:active{background:var(--xz-press)}.xz-lot-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.xz-lot-top{display:flex;align-items:baseline;gap:8px}.xz-lot-label{font-size:16px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-lot-time{font-size:12px;color:var(--xz-grey-2);flex:none}.xz-lot-count{font-size:13px;color:var(--xz-grey)}.xz-lot-orb{position:relative;flex:none}.xz-lot-orb>.xz-orb{width:36px;height:36px;font-size:15px;transition:all .3s;background:var(--xz-orb-white);color:var(--xz-grey-2);box-shadow:0 5px 10px -5px #505a8273,inset 0 1px #fff}.xz-lot-orb>.xz-orb[data-has]{color:var(--xz-ink)}.xz-lot[data-selected] .xz-lot-orb>.xz-orb{background:var(--xz-orb-blue);color:#fff;box-shadow:5px 7px 12px -4px #2468d88c,inset 0 2px 4px #ffffff73}.xz-lot-tick{position:absolute;right:-6px;top:-6px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 30%,#ffc06a,#f2890f 70%);box-shadow:2px 4px 8px -2px #f2890f99;border:2px solid #fff;animation:xzPop .35s var(--xz-spring) both}.xz-empty-q{padding:40px 20px;text-align:center;font-size:14px;color:var(--xz-muted);line-height:1.45}.xz-basket{position:absolute;left:12px;right:12px;bottom:var(--xz-bot);z-index:6;transition:transform .42s var(--xz-spring),opacity .3s}.xz-basket[data-hidden]{transform:translateY(150%);opacity:0;pointer-events:none}.xz-basket[data-bump]{transform:scale(1.035)}.xz-basket>button{width:100%;height:64px;display:flex;align-items:center;gap:10px;padding:0 8px 0 18px;border-radius:24px;cursor:pointer;text-align:left;border:1.5px solid var(--xz-float-edge);background:var(--xz-float-bg);box-shadow:0 20px 40px -16px #32468280,inset 0 1px #fff;-webkit-backdrop-filter:blur(var(--xz-blur)) saturate(1.5);backdrop-filter:blur(var(--xz-blur)) saturate(1.5);color:var(--xz-ink)}.xz-basket-text{flex:1;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.xz-basket-cta{height:48px;padding:0 16px 0 18px;border-radius:18px;display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#fff;background:var(--xz-primary-bg);box-shadow:0 10px 18px -8px #2a6fddb3,inset 0 1px #ffffff59}.xz-basket-cta svg{stroke:#fff}.xz-chat-scroll{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--xz-top) + 66px) 12px calc(var(--xz-bot) + 84px);display:flex;flex-direction:column;gap:10px}.xz-chat-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;animation:xzPop .5s var(--xz-spring) both}.xz-chat-empty strong{font-size:17px;font-weight:700}.xz-chat-empty span{font-size:14px;color:var(--xz-grey)}.xz-empty-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--xz-orb-blue);box-shadow:9px 13px 20px -6px #2468d880,inset 0 4px 8px #ffffff80;animation:xzBreath 3s ease-in-out infinite}.xz-day{align-self:center;height:26px;padding:0 12px;border-radius:13px;display:flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--xz-muted);background:var(--xz-chip-bg);border:1px solid var(--xz-card-edge);box-shadow:0 4px 10px -6px #3c466e59;margin:6px 0 2px;flex:none}.xz-bubble-row{display:flex;justify-content:flex-end;flex:none;animation:xzIn .4s ease calc(var(--i, 0) * 40ms) both}.xz-bubble-row[data-new]{animation:xzBubble .5s cubic-bezier(.2,.9,.25,1) both}.xz-bubble{width:268px;max-width:82%;padding:6px;border-radius:22px 22px 8px;background:linear-gradient(160deg,#fffffff2,#f6f4fabf);border:1px solid var(--xz-card-edge);box-shadow:0 14px 28px -14px #56628c73,inset 0 1px #fff}.xz-app[data-site] .xz-bubble{background:#fff;border-color:var(--xz-card-edge)}.xz-bubble-photo{display:block;width:100%;height:168px;padding:0;border:0;border-radius:17px;overflow:hidden;cursor:zoom-in;position:relative;background:linear-gradient(135deg,#c9d6ea,#9fb0cc)}.xz-bubble-photo img{width:100%;height:100%;object-fit:cover;display:block}.xz-bubble-photo>span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.1em;color:#ffffffeb}.xz-bubble-open{display:block;width:100%;padding:10px 8px 4px;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:14px;color:inherit}.xz-bubble-open:active{background:var(--xz-press)}.xz-bubble-body{display:flex;flex-direction:column;gap:3px}.xz-bubble-desc{font-size:15px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.xz-bubble-loc{font-size:13px;color:var(--xz-grey);overflow-wrap:anywhere}.xz-bubble-foot{display:flex;align-items:center;gap:6px;margin-top:6px;width:100%}.xz-pin-chip{height:24px;padding:0 9px 0 7px;border-radius:12px;display:flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:#fff;background:radial-gradient(circle at 30% 25%,#8cc4ff,#3f8ef5,#2468d8);box-shadow:0 4px 8px -4px #2468d880;font-variant-numeric:tabular-nums}.xz-pin-chip[data-muted]{color:var(--xz-grey);background:#1414280f;box-shadow:none}.xz-bubble-tag{font-size:11px;color:var(--xz-grey-2);font-weight:600}.xz-bubble-time{font-size:11.5px;color:var(--xz-grey-2);font-variant-numeric:tabular-nums}.xz-tick{color:var(--xz-blue-2);flex:none}.xz-composer-dock{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:10px 12px var(--xz-bot)}.xz-composer{display:flex;align-items:center;gap:8px;padding:6px;border-radius:28px;border:1.5px solid var(--xz-float-edge);background:var(--xz-float-bg);box-shadow:var(--xz-float-shadow);-webkit-backdrop-filter:blur(var(--xz-blur)) saturate(1.5);backdrop-filter:blur(var(--xz-blur)) saturate(1.5)}.xz-round{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;cursor:pointer;padding:0}.xz-round:active{transform:scale(.92)}.xz-round--wash{border:1px solid var(--xz-card-edge);background:var(--xz-secondary-bg);box-shadow:0 6px 14px -6px #505a8266,inset 0 1px #fff;color:var(--xz-blue)}.xz-round--accent{border:0;color:#fff;background:radial-gradient(circle at 34% 28%,#8cc4ff,#3f8ef5 45%,#2468d8);box-shadow:5px 8px 14px -5px #2468d899,inset 0 2px 4px #ffffff73}.xz-composer-field{flex:1;min-width:0;height:44px;border:0;background:transparent;text-align:left;font-size:16px;color:var(--xz-grey);cursor:pointer;padding:0 4px}.xz-page-scroll{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--xz-top) + 66px) 14px calc(var(--xz-bot) + 96px);display:flex;flex-direction:column;gap:12px}.xz-page-scroll--nodock{padding-bottom:calc(var(--xz-bot) + 20px);gap:8px}.xz-form-scroll{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--xz-top) + 66px) 14px calc(var(--xz-bot) + 96px);display:flex;flex-direction:column;gap:12px}.xz-dock-cta{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:12px 14px var(--xz-bot);background:linear-gradient(180deg,#eceef600,#eceef6eb 40%)}.xz-app[data-site] .xz-dock-cta{background:#f2f2f6;border-top:1px solid var(--xz-divider)}.xz-row{display:flex;align-items:center;gap:12px;min-height:50px;padding:0 16px;border-top:1px solid var(--xz-divider)}.xz-card>.xz-row:first-child,.xz-card-head+.xz-row{border-top:0}.xz-row-k{width:104px;flex:none;font-size:14px;color:var(--xz-grey)}.xz-row-k--84{width:84px}.xz-row-v{flex:1;min-width:0;font-size:15px;font-weight:600;text-align:right;overflow-wrap:anywhere}.xz-row input{flex:1;min-width:0;height:44px;border:0;background:transparent;font-size:16px;font-weight:600;color:var(--xz-ink);outline:none;padding:0}.xz-row--right input{text-align:right}.xz-row input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.xz-row input:disabled{opacity:.6}.xz-stat3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;flex:none}.xz-stat{padding:12px;border-radius:20px;border:1px solid var(--xz-card-edge);background:var(--xz-card-bg);box-shadow:0 14px 28px -14px #56628c61;display:flex;flex-direction:column;align-items:center;gap:8px;animation:xzIn .4s ease both}.xz-stat>.xz-orb{width:46px;height:46px;font-size:20px}.xz-stat>span:last-child{font-size:12.5px;font-weight:600;color:var(--xz-muted)}.xz-lotrow{display:flex;align-items:center;gap:10px;padding:0 6px 0 16px;height:56px;max-height:64px;overflow:hidden;border-bottom:1px solid var(--xz-divider);transition:max-height .24s ease,opacity .2s ease}.xz-lotrow:last-child{border-bottom:0}.xz-lotrow-dot{width:9px;height:9px;border-radius:50%;flex:none;background:radial-gradient(circle at 35% 30%,#8cc4ff,#2468d8)}.xz-lotrow-label{flex:1;font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.xz-lotrow-count{font-size:13px;color:var(--xz-grey)}.xz-lotrow-empty{color:var(--xz-grey);font-weight:400;font-size:14px}.xz-lotrow .xz-icon-btn{color:var(--xz-grey)}.xz-leaving{max-height:0;opacity:0;pointer-events:none}.xz-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-bottom:1px solid var(--xz-divider);font-size:14px}.xz-kv:last-child{border-bottom:0}.xz-kv>span{color:var(--xz-grey)}.xz-kv>b{font-weight:650;text-align:right;overflow-wrap:anywhere}.xz-list{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#ffffffbf;border:1px solid var(--xz-card-edge);flex:none}.xz-app[data-site] .xz-list{background:#fff}.xz-switch{width:50px;height:30px;border-radius:15px;flex:none;background:#78788c47;position:relative;transition:background .25s}.xz-switch>i{position:absolute;left:2px;top:2px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #0003;transition:transform .3s cubic-bezier(.3,1.3,.5,1)}.xz-switch[data-on]{background:var(--xz-green)}.xz-switch[data-on]>i{transform:translate(20px)}.xz-more-toggle{width:100%;min-height:52px;display:flex;align-items:center;gap:10px;padding:0 16px;border:0;background:transparent;cursor:pointer;text-align:left;color:var(--xz-ink);font-size:15px;font-weight:600}.xz-more-toggle>span{flex:1}.xz-more-toggle>svg{color:var(--xz-grey);transition:transform .3s var(--xz-ease)}.xz-more-toggle[aria-expanded=false]>svg{transform:rotate(-90deg)}.xz-more-toggle+*{border-top:1px solid var(--xz-divider)}.xz-more-bare>.xz-more-toggle{min-height:40px;padding:0 2px;font-size:14px;color:var(--xz-grey)}.xz-more-bare>.xz-more-toggle+*{border-top:0}.xz-more-body{display:flex;flex-direction:column;gap:12px;padding:12px 0 4px;animation:xzIn .3s ease both}.xz-preview-scroll{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--xz-top) + 66px) 14px calc(var(--xz-bot) + 20px);display:flex;flex-direction:column;gap:14px}.xz-paper{display:block;width:100%;height:auto;background:#fff;border-radius:4px;box-shadow:0 18px 36px -18px #1e28508c;flex:none;animation:xzIn .5s ease both}.xz-preview-msg{margin:auto;max-width:300px;text-align:center;color:var(--xz-ink-3);font-size:14px;line-height:1.5;display:flex;flex-direction:column;gap:14px;align-items:center}.xz-photo{position:relative;height:236px;border-radius:24px;overflow:hidden;flex:none;background:linear-gradient(135deg,#c9d6ea,#9fb0cc);box-shadow:0 18px 34px -18px #3c467880;animation:xzPop .5s cubic-bezier(.3,1.3,.5,1) both}.xz-photo[data-pop=b]{animation-name:xzPopB}.xz-photo[aria-invalid=true]{box-shadow:0 0 0 2px #e5484d99}.xz-photo img{width:100%;height:100%;object-fit:cover;display:block}.xz-photo[data-cropping] img{object-fit:contain;background:#0b0f14}.xz-photo[data-empty]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:40px;height:40px;background:center / 40px 40px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-opacity='.9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21'/%3E%3C/svg%3E");pointer-events:none}.xz-photo-label{position:absolute;left:12px;top:12px;height:24px;padding:0 10px;border-radius:12px;display:flex;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#121216;background:#ffffffc7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3}.xz-photo-tools{position:absolute;left:10px;right:10px;bottom:10px;display:flex;gap:8px;z-index:3}.xz-photo-btn{height:36px;padding:0 12px;border-radius:18px;border:1px solid rgba(255,255,255,.9);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:#121216;cursor:pointer;position:relative}.xz-photo-btn:active{transform:scale(.95)}.xz-photo-btn--end,.xz-photo-tools>label:last-child{margin-left:auto}.xz-form-card{display:flex;flex-direction:column;gap:14px;padding:14px;background:var(--xz-card-bg);border:1px solid var(--xz-card-edge);border-radius:22px;box-shadow:var(--xz-card-shadow);flex:none;animation:xzIn .45s ease .08s both}.xz-field{display:flex;flex-direction:column;gap:7px;flex:none}.xz-field-label{font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--xz-grey)}.xz-field-label em{font-style:normal;font-weight:600;letter-spacing:0}.xz-textarea,.xz-input{width:100%;border-radius:14px;border:1px solid var(--xz-field-edge);background:var(--xz-field-bg);box-shadow:var(--xz-field-inset);font-size:16px;color:var(--xz-ink);outline:none}.xz-textarea{resize:none;min-height:64px;padding:12px 14px;line-height:1.35}.xz-input{height:48px;padding:0 14px}.xz-input--ring:focus{box-shadow:0 0 0 3px #3f8ef54d}.xz-textarea[aria-invalid=true],.xz-input[aria-invalid=true]{box-shadow:var(--xz-err-ring)}.xz-err{font-size:12.5px;font-weight:600;color:var(--xz-red-ink);padding:0 6px}.xz-field .xz-err{padding:0}.xz-status-line{font-size:12.5px;color:var(--xz-muted);padding:0 6px;display:flex;align-items:center;gap:6px}.xz-status-line:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--xz-green);flex:none}.xz-suggest{display:flex;gap:6px;overflow-x:auto;margin:0 -14px;padding:2px 14px}.xz-suggest button{flex:none;height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--xz-card-edge);background:var(--xz-chip-bg);font-size:13px;font-weight:550;color:var(--xz-ink-2);cursor:pointer;white-space:nowrap}.xz-suggest button:active{transform:scale(.95)}.xz-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:3px;border-radius:14px;background:var(--xz-seg-bg)}.xz-seg--2{grid-template-columns:repeat(2,minmax(0,1fr))}.xz-seg--scroll{display:flex;overflow-x:auto}.xz-seg--scroll>button{flex:1 0 auto;padding:0 12px}.xz-seg button{height:38px;border:0;border-radius:11px;background:transparent;color:#76767f;font-size:14px;font-weight:500;cursor:pointer;transition:all .25s var(--xz-ease)}.xz-app[data-site] .xz-seg button{color:var(--xz-grey)}.xz-seg--tabs button{height:36px;font-weight:650}.xz-seg button[aria-pressed=true]{background:var(--xz-seg-on);color:var(--xz-ink);box-shadow:0 4px 10px -4px #3c466e59;font-weight:700}.xz-seg button[aria-pressed=true][data-critical]{color:var(--xz-red)}.xz-pinrow{flex:none;width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:22px;border:1px solid var(--xz-card-edge);background:var(--xz-card-bg);box-shadow:0 14px 28px -14px #56628c61,inset 0 1px #fff;text-align:left;cursor:pointer;color:inherit;animation:xzIn .45s ease .16s both}.xz-pinrow:active{transform:scale(.98)}.xz-pinrow[aria-invalid=true]{box-shadow:0 0 0 2px #e5484d8c,0 14px 28px -14px #56628c61}.xz-pintile{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#ff9c9c,#e5484d);box-shadow:5px 8px 14px -6px #283c7880,inset 0 2px 4px #ffffff73;transition:background .3s}.xz-pintile[data-on]{background:var(--xz-orb-blue)}.xz-pinrow-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.xz-pinrow-text strong{font-size:15px;font-weight:650}.xz-pinrow-text span{font-size:12.5px;color:var(--xz-grey)}.xz-pinrow svg.xz-chev-r{color:var(--xz-grey-3);flex:none}.xz-meta-line{font-size:11.5px;color:var(--xz-grey);padding:0 6px;font-family:var(--xz-mono);overflow-wrap:anywhere}.xz-stack{display:flex;flex-direction:column;gap:10px}.xz-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.xz-stamp-dock{display:flex;gap:10px}.xz-stamp-dock>button{flex:1;min-width:0;height:54px}.xz-photo.xz-photo--stamp{height:min(52vh,420px);background:#0b0f14}.xz-photo.xz-photo--stamp[data-empty]{background:linear-gradient(135deg,#c9d6ea,#9fb0cc)}.xz-photo.xz-photo--stamp img{object-fit:contain}.xz-crop{position:absolute;top:22px;right:22px;bottom:22px;left:22px;touch-action:none;z-index:2}.xz-crop-frame{position:absolute;box-shadow:0 0 0 9999px #040c188c;outline:2px solid #fff;outline-offset:-1px;cursor:move;touch-action:none}.xz-crop-handle{position:absolute;width:44px;height:44px;margin:-22px;touch-action:none}.xz-crop-handle:after{content:"";position:absolute;left:14px;top:14px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #00000073}.xz-crop-handle[data-h=nw]{left:0;top:0;cursor:nwse-resize}.xz-crop-handle[data-h=ne]{right:0;top:0;left:auto;cursor:nesw-resize}.xz-crop-handle[data-h=sw]{left:0;bottom:0;top:auto;cursor:nesw-resize}.xz-crop-handle[data-h=se]{right:0;bottom:0;left:auto;top:auto;cursor:nwse-resize}.xz-pin-stage{position:absolute;left:0;right:0;top:calc(var(--xz-top) + 62px);bottom:calc(var(--xz-bot) + 56px);display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:crosshair;padding:12px 20px}.xz-pin-stage[data-tabs]{top:calc(var(--xz-top) + 110px)}.xz-plan{position:relative;background:#fff;border-radius:6px;box-shadow:0 20px 40px -20px #283c6e80,0 0 0 2px #7c869c;transform-origin:center center;line-height:0}.xz-plan img{display:block;max-width:none;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none;border-radius:6px}.xz-pin-other{position:absolute;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;line-height:1;color:var(--xz-ink-3);background:linear-gradient(160deg,#fff,#e4e6ee);box-shadow:0 3px 8px -3px #28325a80,0 0 0 1px #14142814;pointer-events:none;transform:translate(-50%,-50%) scale(var(--inv, 1))}.xz-pin-drop{position:absolute;transform:translate(-50%,-100%) scale(var(--inv, 1));transform-origin:50% 100%;pointer-events:none;display:flex;flex-direction:column;align-items:center;line-height:1}.xz-pin-drop>div{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:800;color:#fff;background:var(--xz-orb-blue);box-shadow:5px 8px 14px -5px #2468d899,inset 0 2px 4px #ffffff73;border:2.5px solid #fff}.xz-pin-drop>i{width:3px;height:10px;background:var(--xz-blue-deep);border-radius:0 0 2px 2px}.xz-zoom{position:absolute;right:12px;top:calc(var(--xz-top) + 82px);z-index:6;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;border:1px solid var(--xz-card-edge);background:var(--xz-float-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 24px -12px #32468280}.xz-zoom[data-tabs]{top:calc(var(--xz-top) + 130px)}.xz-zoom button{width:46px;height:46px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--xz-ink);padding:0}.xz-zoom button:active{background:var(--xz-press-2)}.xz-zoom button+button{border-top:1px solid rgba(20,20,40,.07)}.xz-zoom .xz-zoom-fit{height:40px;font-size:11px;font-weight:800;letter-spacing:.06em}.xz-coords{position:absolute;left:50%;bottom:var(--xz-bot);transform:translate(-50%);z-index:6;height:40px;padding:0 16px;border-radius:20px;display:flex;align-items:center;white-space:nowrap;font-size:13.5px;font-weight:600;color:var(--xz-ink-3);background:#ffffffbf;border:1px solid var(--xz-card-edge);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 22px -12px #32468280;transition:all .3s}.xz-coords[data-pinned]{color:var(--xz-green-ink);background:#2fc26629}.xz-app[data-site] .xz-coords{background:#fff;border-color:var(--xz-field-edge)}.xz-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px}.xz-center-card{width:100%;max-width:340px;padding:24px 20px;border-radius:32px;display:flex;flex-direction:column;gap:18px;background:#fbf9fcb3;border:1.5px solid var(--xz-panel-edge);box-shadow:0 28px 56px -18px #4c609666,inset 0 1px #fff;-webkit-backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.5);backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.5)}.xz-app:is([data-site],[data-transparency=reduced],[data-quality=static]) .xz-center-card{background:var(--xz-dialog-bg)}.xz-center-card--ready{padding:28px 20px 20px;align-items:center}.xz-gen-head{display:flex;align-items:center;gap:14px}.xz-spin-orb{position:relative;width:56px;height:56px;flex:none}.xz-spin-orb>i{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:50%;background:conic-gradient(from 0deg,#3f8ef500,#3f8ef5 70%,#3f8ef500);-webkit-mask:radial-gradient(circle,transparent 30px,#000 31px);mask:radial-gradient(circle,transparent 30px,#000 31px);animation:xzSpin 1.1s linear infinite}.xz-spin-orb>span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--xz-orb-blue);box-shadow:6px 9px 16px -6px #2468d880,inset 0 3px 6px #ffffff80}.xz-heading{display:flex;flex-direction:column;gap:2px}.xz-heading strong{font-size:20px;font-weight:800;letter-spacing:-.01em}.xz-heading span{font-size:13px;color:var(--xz-grey)}.xz-heading--big{align-items:center;text-align:center;gap:4px}.xz-heading--big strong{font-size:26px;letter-spacing:-.02em}.xz-heading--big span{font-size:14px;color:var(--xz-muted)}.xz-heading--big span+span{font-size:13px;color:var(--xz-grey)}.xz-progress{height:8px;border-radius:4px;background:#78789629;overflow:hidden}.xz-progress>div{height:100%;border-radius:4px;background:linear-gradient(90deg,#56a0fa,#2a6fdd);box-shadow:0 0 12px #3f8ef599;transition:width .6s var(--xz-ease)}.xz-stages{display:flex;flex-direction:column;gap:10px}.xz-stage{display:flex;align-items:center;gap:12px;min-height:26px}.xz-stage>i{width:24px;height:24px;border-radius:50%;flex:none;box-sizing:border-box;display:grid;place-items:center;color:#fff;border:2px solid rgba(120,120,150,.25)}.xz-stage[data-state=done]>i{border:0;background:radial-gradient(circle at 34% 28%,#8ef0b2,#1da253);box-shadow:3px 5px 8px -3px #1da25399;animation:xzPop .35s var(--xz-spring) both}.xz-stage[data-state=current]>i{border:3px solid rgba(63,142,245,.25);border-top-color:var(--xz-blue-2);animation:xzSpin .8s linear infinite}.xz-stage>span{font-size:15px;font-weight:500;color:var(--xz-grey-2)}.xz-stage[data-state=done]>span{color:var(--xz-ink)}.xz-stage[data-state=current]>span{color:var(--xz-ink);font-weight:700}.xz-ok-tile{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--xz-orb-green);box-shadow:12px 16px 26px -8px #1da2538c,inset 0 -6px 12px #0a3c1e33,inset 0 5px 10px #ffffff80;animation:xzPop .6s cubic-bezier(.3,1.5,.5,1) .15s both}.xz-center-card--ready>.xz-stack{width:100%}.xz-home-scroll{position:absolute;top:0;right:0;bottom:0;left:0;padding:calc(var(--xz-top) + 6px) 12px calc(var(--xz-bot) + 24px)}.xz-home{display:flex;flex-direction:column;gap:14px;padding:18px 14px 16px;border-radius:34px;background:var(--xz-panel-bg);border:1.5px solid var(--xz-panel-edge);box-shadow:var(--xz-panel-shadow);-webkit-backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.5);backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.5);animation:xzRise .7s cubic-bezier(.2,.8,.2,1) both}.xz-home-head{display:flex;align-items:center;gap:12px;padding:0 2px}.xz-home-logo{width:44px;height:44px;border-radius:50%;flex:none;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,#8ef0b2,#38cb6f 45%,#1da253);box-shadow:0 8px 16px -6px #1da25399,inset 0 2px 4px #ffffff80}.xz-home-title{flex:1;min-width:0}.xz-home-title strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.05;white-space:nowrap}.xz-home-title span{display:block;font-size:12px;font-weight:500;color:var(--xz-grey);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-home-pill{height:44px;padding:0 11px;flex:none;border-radius:22px;cursor:pointer;display:flex;align-items:center;gap:10px;border:1px solid var(--xz-card-edge);background:linear-gradient(160deg,#ffffffd9,#eeeef6b3);box-shadow:0 6px 14px -8px #505a8273,inset 0 1px #fff;color:#7a7a84}.xz-home-pill:active{transform:scale(.96)}.xz-home-pill>span{display:flex;align-items:center;gap:4px}.xz-home-pill>span>b{width:14px;height:3px;border-radius:2px;background:var(--xz-ink)}.xz-home-pill>span>i{width:7px;height:7px;border-radius:50%;background:var(--xz-green);box-shadow:0 0 0 3px #2fc2662e}.xz-home-pill[data-off]>span>i{background:var(--xz-orange);box-shadow:0 0 0 3px #f2890f2e}.xz-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.xz-tile-btn{position:relative;height:150px;padding:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;color:var(--xz-ink);background:var(--xz-card-bg);border:1px solid var(--xz-card-edge);border-radius:22px;box-shadow:var(--xz-card-shadow);transition:transform .2s;animation:xzIn .5s ease var(--d, .1s) both}.xz-tile-btn:active{transform:scale(.96)}.xz-tile-btn--pink{background:linear-gradient(160deg,#fde4e9f2,#f7d0d9a8);box-shadow:0 14px 28px -14px #a05a6e66,inset 0 1px #fff}.xz-app[data-site] .xz-tile-btn--pink{background:#fff}.xz-tile-btn>strong{font-size:15px;font-weight:700}.xz-tile-btn>.xz-tile-mid{flex:1;display:flex;align-items:center;justify-content:center}.xz-tile-btn .xz-orb{width:60px;height:60px;font-size:26px;animation:xzFloat 4s ease-in-out var(--f, 0s) infinite}.xz-tile-btn>.xz-tile-foot{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--xz-grey-2);font-weight:500}.xz-tile-btn--pink>.xz-tile-foot{color:#b79aa3}.xz-app[data-site] .xz-tile-btn>.xz-tile-foot{color:var(--xz-grey)}.xz-tile-badge{position:absolute;right:10px;top:9px;min-width:24px;height:24px;padding:0 6px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--xz-orb-purple);box-shadow:3px 5px 10px -3px #7b4fea99}.xz-home-note{margin:0;padding:0 4px;font-size:13px;line-height:1.45;color:var(--xz-muted)}.xz-hero{position:relative;height:200px;overflow:hidden;flex:none;background:var(--xz-card-bg);border:1px solid var(--xz-card-edge);border-radius:24px;box-shadow:0 14px 28px -14px #56628c61,inset 0 1px #fff}.xz-hero-plan{position:absolute;left:14px;top:20px;width:184px;height:140px;border-radius:12px;background:#ffffffbf;box-shadow:inset 0 0 0 2px #6e789659}.xz-hero-plan>div{position:absolute;font-size:7.5px;font-weight:700;letter-spacing:.08em;color:#a3a7b7;padding:6px;box-sizing:border-box}.xz-hero-ring{position:absolute;width:24px;height:24px;border-radius:50%;border:2px solid;box-sizing:border-box;opacity:0}.xz-hero-pin{position:absolute;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:800;color:#fff}.xz-hero-finder{position:absolute;left:0;top:0;width:40px;height:40px;opacity:0;animation:xzFinder 7s cubic-bezier(.45,0,.25,1) infinite}.xz-hero-finder>b{position:absolute;width:10px;height:10px;border:0 solid #121216}.xz-hero-finder>i{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;background:radial-gradient(circle,#fff,#fff0 70%);opacity:0;animation:xzShutter 7s linear infinite}.xz-hero-fly{position:absolute;left:0;top:0;width:20px;height:20px;border-radius:5px;opacity:0}.xz-hero-doc{position:absolute;right:14px;top:16px;width:104px;height:170px;border-radius:12px;background:#fff;box-shadow:0 10px 22px -10px #3c467873,inset 0 0 0 1px #1414280d;overflow:hidden}.xz-hero-doc>.xz-hero-row{position:absolute;left:8px;right:8px;height:18px;display:flex;align-items:center;gap:5px}.xz-hero-row>span:first-child{width:14px;height:14px;border-radius:3px;flex:none}.xz-hero-row>span:nth-child(2){font-size:7px;font-weight:800}.xz-hero-row>span:last-child{flex:1;height:4px;border-radius:2px;background:#d5d7e0}.xz-hero-stamp{position:absolute;left:24px;top:116px;width:56px;height:40px;border-radius:50%;border:2.5px solid #2fc266;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;letter-spacing:.08em;color:#1da253;box-sizing:border-box;opacity:0;animation:xzStamp 7s cubic-bezier(.3,1.4,.5,1) infinite}.xz-hero-caps{position:absolute;left:14px;bottom:10px;display:flex;gap:6px}.xz-hero-caps>span{height:24px;padding:0 10px;border-radius:12px;display:flex;align-items:center;font-size:11px;font-weight:700;background:#ffffffb3;color:#8e8e98}.xz-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:400;background:var(--xz-veil);opacity:0;pointer-events:none;transition:opacity .3s}.xz-veil[data-on]{opacity:1;pointer-events:auto}.xz-action-sheet{position:absolute;left:10px;right:10px;bottom:var(--xz-bot);z-index:410;display:flex;flex-direction:column;gap:8px;transform:translateY(115%);transition:transform .42s var(--xz-ease)}.xz-action-sheet[data-on]{transform:none}.xz-action-sheet[data-dragging],.xz-sheet[data-dragging]{transition:none}.xz-action-group{border-radius:22px;overflow:hidden;background:var(--xz-group-bg);-webkit-backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.6);backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.6);border:1px solid var(--xz-float-edge);box-shadow:0 20px 40px -16px #28325a80}.xz-action-title{padding:14px 16px 10px;text-align:center;font-size:13px;font-weight:600;color:var(--xz-grey)}.xz-action{width:100%;display:flex;align-items:center;gap:12px;min-height:58px;padding:0 16px;border:0;border-top:1px solid rgba(20,20,40,.07);background:transparent;cursor:pointer;font-size:17px;font-weight:600;color:var(--xz-blue);text-align:left;position:relative}.xz-action:active{background:var(--xz-press)}.xz-action--reg{font-weight:500}.xz-action--danger{color:var(--xz-red);font-weight:500}.xz-action--center{justify-content:center}.xz-action-cancel{height:58px;border-radius:22px;border:1px solid var(--xz-float-edge);background:#fffffff0;font-size:17px;font-weight:700;color:var(--xz-blue);cursor:pointer;box-shadow:0 20px 40px -16px #28325a80}.xz-action-cancel:active{background:#f0f0f5}.xz-sheet{position:absolute;left:0;right:0;bottom:0;z-index:410;max-height:88%;overflow-y:auto;padding:10px 16px var(--xz-bot);border-radius:30px 30px 0 0;display:flex;flex-direction:column;gap:14px;background:var(--xz-sheet-bg);-webkit-backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.6);backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.6);border-top:1px solid var(--xz-float-edge);box-shadow:0 -20px 40px -20px #28325a66;transform:translateY(115%);transition:transform .42s var(--xz-ease)}.xz-sheet[data-on]{transform:none}.xz-sheet--tight{gap:12px}.xz-grabber{align-self:center;width:38px;height:5px;border-radius:3px;background:#3c3c5033;flex:none}.xz-sheet-title{font-size:18px;font-weight:750}.xz-sheet-done{height:52px;border-radius:18px;border:1px solid var(--xz-card-edge);background:#fff;font-size:16px;font-weight:700;color:var(--xz-blue);cursor:pointer;flex:none}.xz-file-row{display:flex;align-items:center;gap:12px}.xz-doc{width:44px;height:44px;border-radius:14px;flex:none;display:grid;place-items:center;color:#fff;background:var(--xz-orb-red);box-shadow:4px 7px 12px -5px #d93a3e99}.xz-file-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.xz-file-name strong{font-size:14.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xz-file-name span{font-size:12px;color:var(--xz-grey)}.xz-close-sm{width:32px;height:32px;border-radius:50%;border:0;background:#78789629;display:grid;place-items:center;cursor:pointer;flex:none;color:var(--xz-ink-3);padding:0}.xz-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.xz-targets button{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:transparent;font-size:12px;font-weight:600;cursor:pointer;padding:4px 0;color:var(--xz-ink);text-align:center}.xz-targets button:active{transform:scale(.94)}.xz-target-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff}.xz-t-green{background:var(--xz-tile-green);box-shadow:0 8px 16px -8px #1e9f55b3}.xz-t-blue{background:var(--xz-tile-blue);box-shadow:0 8px 16px -8px #2f62d8b3}.xz-t-grey{background:var(--xz-tile-grey);box-shadow:0 8px 16px -8px #5a6478b3}.xz-t-violet{background:var(--xz-tile-purple);box-shadow:0 8px 16px -8px #9a5be3b3}.xz-sheet .xz-note{padding:0;font-size:12px}.xz-dialog-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;align-items:center;justify-content:center;background:#181c304d;opacity:0;pointer-events:none;transition:opacity .22s;padding:24px}.xz-dialog-wrap[data-on]{opacity:1;pointer-events:auto}.xz-dialog{width:280px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--xz-dialog-bg);-webkit-backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.6);backdrop-filter:blur(var(--xz-blur-lg)) saturate(1.6);border:1px solid var(--xz-float-edge);box-shadow:0 30px 60px -20px #1e28508c;transform:scale(1.08);transition:transform .3s cubic-bezier(.3,1.3,.5,1)}.xz-dialog-wrap[data-on] .xz-dialog{transform:scale(1)}.xz-dialog-body{padding:20px 18px 16px;display:flex;flex-direction:column;gap:6px;text-align:center;overflow-y:auto}.xz-dialog-body strong{font-size:17px;font-weight:700}.xz-dialog-body span{font-size:13.5px;line-height:1.4;color:var(--xz-ink-3);overflow-wrap:anywhere;white-space:pre-line}.xz-dialog-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--xz-divider-2);flex:none}.xz-dialog-actions[data-single]{grid-template-columns:1fr}.xz-dialog-actions button{height:48px;border:0;background:transparent;font-size:16px;color:var(--xz-blue);cursor:pointer}.xz-dialog-actions button+button{border-left:1px solid var(--xz-divider-2)}.xz-dialog-actions .xz-dialog-strong{font-weight:700}.xz-dialog-actions .xz-dialog-danger{color:var(--xz-red);font-weight:700}.xz-dialog-input{margin-top:10px;width:100%;height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--xz-field-edge);background:var(--xz-field-bg);box-shadow:var(--xz-field-inset);color:var(--xz-ink);font-size:16px}.xz-lb{position:absolute;top:0;right:0;bottom:0;left:0;z-index:520;background:#0a0c16f0;display:flex;flex-direction:column;animation:xzIn .25s ease both;color:#fff}.xz-lb-top{display:flex;align-items:center;justify-content:space-between;padding:var(--xz-top) 12px 10px}.xz-lb-top>span{font-size:14px;font-weight:600}.xz-lb-round{width:44px;height:44px;border-radius:50%;border:0;background:#ffffff24;display:grid;place-items:center;cursor:pointer;color:#fff;padding:0}.xz-lb-stage{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:0 12px}.xz-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:14px;animation:xzPop .35s cubic-bezier(.3,1.2,.5,1) both}.xz-lb-stage img[data-pop=b]{animation-name:xzPopB}.xz-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;cursor:pointer;color:#fff;padding:0}.xz-lb-nav:disabled{opacity:.3}.xz-lb-prev{left:18px}.xz-lb-next{right:18px}.xz-lb-cap{padding:16px 18px calc(var(--xz-bot) + 8px);display:flex;flex-direction:column;gap:4px}.xz-lb-cap>i{align-self:flex-start;height:24px;padding:0 10px;border-radius:12px;display:flex;align-items:center;font-size:12px;font-weight:800;font-style:normal;background:radial-gradient(circle at 30% 25%,#8cc4ff,#2468d8)}.xz-lb-cap>strong{font-size:17px;font-weight:650}.xz-lb-cap>span{font-size:14px;color:#ffffffb3}.xz-toast{position:absolute;left:50%;bottom:calc(var(--xz-bot) + 84px);z-index:600;width:max-content;max-width:min(320px,calc(100% - 24px));padding:12px 18px;border-radius:20px;background:#181820db;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;font-size:14px;font-weight:600;line-height:1.35;text-align:center;box-shadow:0 14px 30px -12px #00000073;transform:translate(-50%,24px);opacity:0;transition:transform .35s cubic-bezier(.3,1.3,.5,1),opacity .25s;pointer-events:none}.xz-toast[data-on]{transform:translate(-50%);opacity:1}.xz-app .modal-veil{z-index:450}.xz-roll-wrap{display:inline-block;overflow:hidden;vertical-align:bottom}.xz-roll{display:inline-block;animation:xzRoll .32s cubic-bezier(.2,.8,.2,1)}.xz-app[data-quality=fluid] :is(.xz-round,.xz-chip,.xz-pill-blue,.xz-photo-btn,.xz-home-pill,.xz-close-sm,.xz-targets button).hy-pressing{transform:scale(.94);transition:transform 90ms ease-out}@keyframes xzRise{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}@keyframes xzIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes xzBubble{0%{opacity:0;transform:translateY(26px) scale(.96)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes xzPop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes xzPopB{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes xzFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes xzPulse{0%{box-shadow:0 0 #2fc2668c}to{box-shadow:0 0 0 10px #2fc26600}}@keyframes xzSpin{to{transform:rotate(360deg)}}@keyframes xzBreath{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes xzRoll{0%{transform:translateY(60%);opacity:0}to{transform:none;opacity:1}}@keyframes xzFinder{0%{opacity:0;transform:translate(40px,36px) scale(1.3)}6%,14%{opacity:1;transform:translate(40px,36px) scale(1)}30%,44%{opacity:1;transform:translate(130px,56px) scale(1)}60%,74%{opacity:1;transform:translate(78px,108px) scale(1)}80%,to{opacity:0;transform:translate(78px,108px) scale(.8)}}@keyframes xzShutter{0%,12%,18%,42%,48%,72%,78%,to{opacity:0}14%,44%,74%{opacity:.95}}@keyframes xzPin1{0%,14%{opacity:0;transform:translateY(-18px) scale(.6)}19%{opacity:1;transform:translateY(2px) scale(1.08)}22%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.6)}}@keyframes xzPin2{0%,44%{opacity:0;transform:translateY(-18px) scale(.6)}49%{opacity:1;transform:translateY(2px) scale(1.08)}52%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.6)}}@keyframes xzPin3{0%,74%{opacity:0;transform:translateY(-18px) scale(.6)}79%{opacity:1;transform:translateY(2px) scale(1.08)}82%,90%{opacity:1;transform:none}96%,to{opacity:0;transform:scale(.6)}}@keyframes xzRing1{0%,18%{opacity:0;transform:scale(.4)}20%{opacity:.7}32%,to{opacity:0;transform:scale(2.4)}}@keyframes xzRing2{0%,48%{opacity:0;transform:scale(.4)}50%{opacity:.7}62%,to{opacity:0;transform:scale(2.4)}}@keyframes xzRing3{0%,78%{opacity:0;transform:scale(.4)}80%{opacity:.7}92%,to{opacity:0;transform:scale(2.4)}}@keyframes xzFly1{0%,14%{opacity:0;transform:translate(50px,46px) scale(.4)}16%{opacity:1;transform:translate(50px,46px) scale(1)}26%{opacity:1;transform:translate(224px,62px) scale(.7)}28%,to{opacity:0;transform:translate(224px,62px) scale(.7)}}@keyframes xzFly2{0%,44%{opacity:0;transform:translate(140px,66px) scale(.4)}46%{opacity:1;transform:translate(140px,66px) scale(1)}56%{opacity:1;transform:translate(224px,84px) scale(.7)}58%,to{opacity:0;transform:translate(224px,84px) scale(.7)}}@keyframes xzFly3{0%,74%{opacity:0;transform:translate(88px,118px) scale(.4)}76%{opacity:1;transform:translate(88px,118px) scale(1)}86%{opacity:1;transform:translate(224px,106px) scale(.7)}88%,to{opacity:0;transform:translate(224px,106px) scale(.7)}}@keyframes xzRow1{0%,26%{opacity:0;transform:translate(-6px)}30%,95%{opacity:1;transform:none}to{opacity:0}}@keyframes xzRow2{0%,56%{opacity:0;transform:translate(-6px)}60%,95%{opacity:1;transform:none}to{opacity:0}}@keyframes xzRow3{0%,86%{opacity:0;transform:translate(-6px)}89%,95%{opacity:1;transform:none}to{opacity:0}}@keyframes xzStamp{0%,88%{opacity:0;transform:scale(1.8) rotate(-12deg)}91%,96%{opacity:1;transform:scale(1) rotate(-12deg)}to{opacity:0;transform:scale(1) rotate(-12deg)}}@keyframes xzCapA{0%,6%,18%,36%,48%,66%,78%,to{background:#ffffffb3;color:#8e8e98}9%,15%,39%,45%,69%,75%{background:#3f8ef5;color:#fff}}@keyframes xzCapB{0%,16%,28%,46%,58%,76%,88%,to{background:#ffffffb3;color:#8e8e98}19%,25%,49%,55%,79%,85%{background:#2fc266;color:#fff}}@keyframes xzCapC{0%,86%,to{background:#ffffffb3;color:#8e8e98}89%,97%{background:#f25555;color:#fff}}@media(prefers-reduced-motion:reduce){.xz-app *,.xz-app *:before,.xz-app *:after{animation:none!important;transition-duration:.01ms!important}}.xz-app[data-motion=reduce] *,.xz-app[data-motion=reduce] *:before,.xz-app[data-motion=reduce] *:after{animation:none!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){.xz-app :is(.xz-hero-pin,.xz-hero-row,.xz-hero-stamp){opacity:1!important}}.xz-app[data-motion=reduce] :is(.xz-hero-pin,.xz-hero-row,.xz-hero-stamp){opacity:1!important}.xz-app:is([data-quality=static],[data-site],[data-transparency=reduced]) *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.xz-app[data-site] :is(.xz-card,.xz-pinrow,.xz-stat,.xz-tile-btn,.xz-banner,.xz-bubble,.xz-home,.xz-hero,.xz-basket>button,.xz-composer,.xz-action-group,.xz-sheet,.xz-dialog,.xz-center-card){border-color:var(--xz-card-edge);border-width:1.5px;box-shadow:none}.xz-app[data-site] :is(.xz-link-text span,.xz-lot-count,.xz-bubble-loc,.xz-note,.xz-group-meta,.xz-lot-time,.xz-bubble-time){font-weight:600}.xz-app[data-site] :is(.xz-live-dot,.xz-empty-icon,.xz-tile-btn .xz-orb){animation:none}.xz-app[data-site] .xz-orb{box-shadow:none}
