@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root,[data-theme=light]{--z-thumb-badge: 2;--z-overlay-canvas: 5;--z-controls: 10;--z-sidebar: 20;--z-panels: 30;--z-drop-zone: 40;--z-panels-float: 45;--z-modals: 50;--z-header: 100;--z-drag-clone: 110;--z-ai-panel: 120;--z-modal-bg: 200;--z-context-menu: 210;--z-bte-overlay: 220;--z-auth: 1000;--bg-canvas: #ffffff;--bg0: #f5f5f7;--bg1: #ffffff;--bg2: #f9f9fb;--bg3: #f0f0f4;--bg4: #e8e8ee;--bg-glass: rgba(255,255,255,.78);--bg-popover: #ffffff;--border: rgba(0,0,0,.08);--border-strong: rgba(0,0,0,.12);--border-focus: rgba(37,99,235,.45);--text1: #1d1d1f;--text2: #6e6e73;--text3: #aeaeb2;--accent: #0b5fd6;--accent-hover: #0a4fb0;--accent-dim: rgba(11,95,214,.08);--accent-mid: rgba(11,95,214,.14);--accent-text: #0a4fb0;--ss-accent: #0b5fd6;--ss-accent-soft: rgba(11,95,214,.12);--ss-accent-softer: rgba(11,95,214,.07);--green: #34c759;--green-dim: rgba(52,199,89,.08);--green-text: #248a3d;--orange: #ff9500;--orange-dim: rgba(255,149,0,.08);--orange-text: #c93400;--red: #ff3b30;--red-dim: rgba(255,59,48,.06);--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-float: 0 4px 24px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);--shadow-modal: 0 24px 80px rgba(0,0,0,.12), 0 8px 24px rgba(0,0,0,.06);--totals-bg: linear-gradient(135deg, #f5f5f7 0%, #eeeef2 100%);--totals-card: rgba(255,255,255,.7);--item-border: rgba(0,0,0,.04);--tgroup-bg: rgba(37,99,235,.04);--computed-bg: #f5f5f7;--cal-banner-bg: rgba(245,245,247,.72);--swatch-check: #fff;--modal-overlay: rgba(0,0,0,.25);--indicator-meas: #16a34a;--pill-bg: rgba(0,0,0,.025);--pill-border: rgba(0,0,0,.06);--pill-shadow: inset 0 .5px 1px rgba(0,0,0,.06), inset 0 0 0 .5px rgba(0,0,0,.04);--pill-hover: #e8e8ed;--pill-active-bg: #ffffff;--pill-active-shadow: 0 .5px 2px rgba(0,0,0,.12), 0 0 0 .5px rgba(0,0,0,.04);--pill-active-hover: #f0f0f3;--ai-accent: #7F77DD}[data-theme=dark]{--bg-canvas: #1c1f28;--bg0: #14161c;--bg1: #1c1f28;--bg2: #22262f;--bg3: #2a2e3a;--bg4: #353a48;--bg-glass: rgba(28,31,40,.82);--bg-popover: #2a2e3a;--border: rgba(255,255,255,.06);--border-strong: rgba(255,255,255,.1);--border-focus: rgba(96,165,250,.5);--text1: #f0f1f4;--text2: #8b91a5;--text3: #545a6e;--accent: #4c91f7;--accent-hover: #6ba5f9;--accent-dim: rgba(76,145,247,.12);--accent-mid: rgba(76,145,247,.2);--accent-text: #4c91f7;--ss-accent: #4c91f7;--ss-accent-soft: rgba(76,145,247,.18);--ss-accent-softer: rgba(76,145,247,.1);--green: #44d898;--green-dim: rgba(68,216,152,.08);--green-text: #44d898;--orange: #f5a623;--orange-dim: rgba(245,166,35,.08);--orange-text: #f5a623;--red: #ef6b6b;--red-dim: rgba(239,107,107,.08);--shadow-sm: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--shadow-float: 0 8px 32px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);--shadow-modal: 0 24px 80px rgba(0,0,0,.6), 0 8px 24px rgba(0,0,0,.4);--totals-bg: linear-gradient(135deg, #252935 0%, #1c1f28 100%);--totals-card: rgba(0,0,0,.18);--item-border: rgba(255,255,255,.03);--tgroup-bg: rgba(96,165,250,.06);--computed-bg: #14161c;--cal-banner-bg: rgba(22,25,32,.72);--swatch-check: #fff;--modal-overlay: rgba(0,0,0,.6);--indicator-meas: #4ade80;--pill-bg: rgba(255,255,255,.05);--pill-border: rgba(255,255,255,.08);--pill-shadow: inset 0 .5px 1px rgba(0,0,0,.3), inset 0 0 0 .5px rgba(255,255,255,.06);--pill-hover: #3a3a3c;--pill-active-bg: rgba(255,255,255,.12);--pill-active-shadow: 0 .5px 2px rgba(0,0,0,.4), 0 0 0 .5px rgba(255,255,255,.06);--pill-active-hover: #525254;--ai-accent: #9F97EE}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg0);color:var(--text1);height:100vh;height:100dvh;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.4;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body.dashboard-active{overflow:auto!important;height:auto!important}.header{height:54px;background:var(--bg1);border-bottom:.5px solid rgba(0,0,0,.1);box-shadow:0 1px #0000000f,0 1px 3px #0000000a;display:flex;align-items:center;padding:0 16px;gap:8px;z-index:var(--z-header)}[data-theme=dark] .header{border-bottom:.5px solid rgba(255,255,255,.08);box-shadow:0 1px #0000004d,0 1px 3px #00000026}.toolbar-pill{background:var(--pill-bg);border:.5px solid var(--pill-border);box-shadow:var(--pill-shadow);border-radius:10px;padding:3px;display:flex;align-items:center;gap:2px}.toolbar-naked{background:transparent;border:none;box-shadow:none}.toolbar-naked:hover{background:var(--pill-hover);border-radius:8px}.header>.toolbar-naked:first-child{margin-left:4px}.header>.toolbar-naked:last-child{margin-right:4px}.toolbar-btn{width:36px;height:36px;border-radius:7px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);transition:all .12s;flex-shrink:0}.toolbar-btn:hover{background:var(--pill-hover)}.toolbar-btn:disabled{opacity:.35;pointer-events:none;cursor:default}.toolbar-btn:disabled:hover{background:transparent}.toolbar-btn.active{background:var(--pill-active-bg);color:var(--text1);box-shadow:var(--pill-active-shadow)}.toolbar-btn.active:hover{background:var(--pill-active-hover)}.toolbar-tool{width:36px;height:36px;border-radius:7px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);transition:all .12s;flex-shrink:0}.toolbar-tool:hover{background:var(--pill-hover)}.toolbar-tool:disabled{opacity:.35;pointer-events:none;cursor:default}.toolbar-tool:disabled:hover{background:transparent}.toolbar-tool.active{background:var(--pill-active-bg);color:var(--text1);box-shadow:var(--pill-active-shadow)}.toolbar-tool.active:hover{background:var(--pill-active-hover)}.toolbar-dropdown{position:relative;display:inline-flex;align-items:center}.toolbar-dropdown-main{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.toolbar-dropdown-arrow{display:flex;align-items:center;justify-content:center;width:14px;height:36px;padding:0;border:none;background:transparent;border-top-right-radius:7px;border-bottom-right-radius:7px;cursor:pointer;color:var(--text2);opacity:.5;transition:opacity .12s}.toolbar-dropdown-arrow:hover{opacity:1}.toolbar-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg1);border:1px solid var(--border1);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:9999;padding:4px;display:flex;flex-direction:column;gap:2px}.toolbar-dropdown-item{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:none;border-radius:6px;cursor:pointer;color:var(--text2)}.toolbar-dropdown-item:hover{background:var(--pill-hover)}.toolbar-pill-divider{width:1px;height:20px;background:var(--text2);margin:0 4px;flex-shrink:0;opacity:.3}.toolbar-spacer{flex:1;min-width:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg1);color:var(--text2);font-size:12px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn:hover{background:var(--bg3);color:var(--text1)}.btn:active{transform:scale(.96);transition-duration:.06s}.btn.active{background:var(--accent-dim);border-color:var(--border-focus);color:var(--accent-text)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;box-shadow:0 1px 6px #00000026}.btn.primary:hover{background:var(--accent-hover)}.btn:disabled,.btn[disabled],.btn.primary:disabled,.btn.primary[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn svg{width:15px;height:15px;flex-shrink:0}.theme-toggle{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:14px;padding:0;flex-shrink:0}.theme-toggle:hover{background:var(--bg3);color:var(--text2)}.scale-ind{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--text1);background:#dcf5e1a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:6px 12px;border-radius:8px;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:all .15s;border:1px solid rgba(52,199,89,.3)}[data-theme=dark] .scale-ind{background:#1e3c28a6;border-color:#44d8984d}.scale-ind:hover{filter:brightness(1.05);box-shadow:0 0 0 2px var(--accent-dim)}.scale-ind.uncal{color:var(--text1);background:#f5dcdca6;border-color:#ff3b304d;animation:pulse-badge 2s ease-in-out infinite}[data-theme=dark] .scale-ind.uncal{background:#3c1e1ea6;border-color:#ef6b6b4d}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.65}}.layout{display:flex;height:calc(100vh - 54px);position:relative}.canvas-area{flex:1;position:relative;overflow:hidden;background:var(--bg-canvas);cursor:default;opacity:0;transition:opacity .12s ease;touch-action:none}.canvas-area.ready{opacity:1}.canvas-area.tool-active{cursor:none}.canvas-area.panning{cursor:grabbing!important}.canvas-container{position:absolute;transform-origin:0 0;box-shadow:0 4px 16px #00000040,0 16px 48px #00000026}[data-theme=dark] .canvas-container{box-shadow:0 4px 16px #0009,0 16px 48px #0006}#pdfCanvas{display:block}#drawCanvas{position:absolute;top:0;left:0;pointer-events:none}#overlayCanvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-overlay-canvas)}.canvas-hint{position:absolute;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-strong);padding:9px 20px;border-radius:100px;font-size:12px;font-weight:500;color:var(--text2);pointer-events:none;z-index:var(--z-controls);box-shadow:var(--shadow-float)}.canvas-status-bar{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:6px;z-index:var(--z-controls)}.zoom-group{display:flex;gap:1px;background:#ffffffa6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:8px;overflow:hidden}[data-theme=dark] .zoom-group{background:#1e1e1ea6;border-color:#ffffff1a}.zoom-btn{width:30px;height:28px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--text2);cursor:pointer;transition:background .12s}.zoom-btn:hover{background:var(--bg3)}.zoom-btn+.zoom-btn{border-left:.5px solid var(--border)}.loading-dots{display:flex;gap:6px;align-items:center;justify-content:center;margin:0 auto 14px}.loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:loadPulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}@keyframes loadPulse{0%,80%,to{opacity:.2;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.upload-screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-modals)}.upload-box{width:500px;border:2px dashed var(--border-strong);border-radius:20px;padding:60px 48px;text-align:center;transition:all .25s ease;cursor:pointer;background:var(--bg1)}.upload-box:hover,.upload-box.dragover{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 48px #2563eb0f;transform:scale(1.01)}.upload-box svg{width:52px;height:52px;color:var(--text3);margin-bottom:20px;transition:color .25s,transform .25s}.upload-box:hover svg{color:var(--accent);transform:translateY(-3px)}.upload-box h3{font-size:20px;margin-bottom:8px;font-weight:700;letter-spacing:-.02em}.upload-box p{font-size:14px;color:var(--text2);line-height:1.5}.upload-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.upload-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;border:1.5px solid var(--border-strong);background:var(--bg1);color:var(--text1);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s}.upload-btn:hover{border-color:var(--accent);color:var(--accent)}.upload-btn:active{transform:scale(.97)}.upload-btn svg{flex-shrink:0}.upload-btn-cam{display:none}@media(hover:none)and (pointer:coarse){.upload-btn-cam{display:inline-flex}.upload-desktop{display:none}}@media(max-width:768px){.upload-box{width:90%;max-width:400px;padding:40px 24px}.upload-box svg{width:40px;height:40px;margin-bottom:14px}.upload-box h3{font-size:18px}.upload-actions{flex-direction:column}.upload-btn{justify-content:center;min-height:48px;padding:14px 24px;font-size:15px;width:100%}.upload-btn-cam{display:inline-flex}.upload-desktop{display:none}}.budget-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg1);flex-shrink:0}.budget-proj-name{flex:1;min-width:0;font-size:16px;font-weight:700;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-header-actions{display:flex;gap:6px;flex-shrink:0}.budget-icon-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--bg1);border-radius:6px;color:var(--text2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .1s,color .1s,border-color .1s}.budget-icon-btn:hover{background:var(--bg3);color:var(--text1)}.budget-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.budget-table-wrap{flex:1;min-height:0;overflow-y:auto;padding-bottom:96px}#budgetTabSwitcher{flex:none}.budget-tab-switcher{display:flex;border-top:1px solid var(--border)}.budget-tab-btn{flex:1;padding:10px 12px;font-family:inherit;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--bg2);color:var(--text2);border:none;border-right:1px solid var(--border);cursor:pointer}.budget-tab-btn:last-child{border-right:none}.budget-tab-btn.budget-tab-active{background:var(--bg1);color:var(--text1)}.budget-tab-btn:hover:not(.budget-tab-active){background:var(--bg3)}.co-empty-state{padding:40px 20px;text-align:center;color:var(--text2);font-size:13px;line-height:1.6}.budget-table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:system-ui,sans-serif}.budget-table thead .budget-col-hdr th{position:sticky;top:0;z-index:1;background:var(--bg2);font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text3);letter-spacing:.03em;padding:8px 10px;text-align:left;border-bottom:1px solid var(--border)}.budget-table thead .budget-col-hdr th.col-amount,.budget-table td.col-amount{text-align:right}.budget-row{height:30px;border-bottom:1px solid var(--border)}.budget-row>td{padding:0 10px;font-size:12px;vertical-align:middle}.budget-row .col-name{font-weight:600;color:var(--text1);vertical-align:middle}.budget-row .col-name-inner{display:flex;align-items:center}.budget-row .col-amount{font-weight:600;color:var(--text1);font-variant-numeric:tabular-nums}.budget-row:hover{background:var(--bg3)}.budget-row .muted{color:var(--text3);font-weight:500}.budget-row .col-status,.budget-row .col-note{text-align:center;padding:0}.budget-row .col-drill{text-align:center;padding:0 4px 0 0}.budget-cat-row{cursor:pointer}.budget-cat-row:hover td{background:#ededee}[data-theme=dark] .budget-cat-row:hover td{background:var(--bg4)}.budget-cat-row td{height:30px;background:#f4f4f5;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text2);letter-spacing:.05em;padding:0 12px;border-bottom:1px solid var(--border)}.budget-cat-row .col-amount{font-size:11px;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text2);font-variant-numeric:tabular-nums}.budget-cat-chev{display:inline-block;width:14px;text-align:center;font-size:13px;color:var(--text-secondary, #555);line-height:1}[data-theme=dark] .budget-cat-row td{background:var(--bg3)}.budget-add-row td{height:28px;padding:0 10px;border-bottom:1px solid var(--border)}.budget-add-link{color:var(--text3);text-decoration:none;font-size:11px;font-weight:400}.budget-add-link:hover{color:var(--accent)}.budget-untagged-hdr td{height:30px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:0 12px;border-bottom:1px solid var(--border)}[data-theme=dark] .budget-untagged-hdr td{background:#78350f;color:#fde68a}.budget-untagged-label{margin-right:8px}.budget-untagged-badge{display:inline-block;min-width:18px;padding:1px 6px;background:#92400e2e;border-radius:10px;font-size:10px;font-weight:700;text-align:center}.budget-tag-link{color:var(--accent);text-decoration:none;font-size:11px;font-weight:600}.budget-tag-link:hover{text-decoration:underline}.budget-status-btn,.budget-drill-btn,.budget-note-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:30px;text-decoration:none;color:var(--text2)}.budget-drill-btn{font-size:18px;font-weight:700}.budget-drill-btn:hover{color:var(--accent)}.budget-li-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-note-btn{flex-shrink:0;color:var(--text3);text-decoration:none;margin-left:6px;display:inline-flex;align-items:center;opacity:0;transition:opacity .1s}.budget-note-btn.has-note{opacity:.6}.budget-row:hover .budget-note-btn{opacity:1}.budget-note-btn:hover{color:var(--accent)}.budget-clip-btn{flex-shrink:0;color:var(--text3);text-decoration:none;margin-left:4px;display:inline-flex;align-items:center;gap:1px;opacity:0;transition:opacity .1s}.budget-clip-btn.has-clip{opacity:.6}.budget-row:hover .budget-clip-btn{opacity:1}.budget-clip-btn:hover{color:var(--accent)}.budget-clip-count{font-size:10px;font-weight:600;color:var(--text3);line-height:1;margin-left:1px}.budget-dot{display:inline-block;width:12px;height:12px;border-radius:50%;box-sizing:border-box}.budget-dot-empty{border:1.5px solid #D1D5DB;background:transparent}.budget-dot-working{border:2px solid #f59e0b;background:linear-gradient(90deg,#f59e0b 50%,transparent 50%)}.budget-dot-done{background:#16a34a;border:2px solid #16a34a}.budget-summary-foot{border-top:2px solid var(--border);background:var(--bg1)}.budget-summary-foot tr{height:28px}.budget-summary-foot td{padding:0 10px;font-size:12px;vertical-align:middle;color:var(--text1)}.budget-summary-foot .bs-label{text-align:right;color:var(--text2)}.budget-summary-foot .col-amount{text-align:right;font-variant-numeric:tabular-nums}.budget-summary-foot .col-drill{padding:0 4px 0 0}.budget-summary-foot .bs-bold{font-weight:700;color:var(--text1)}.bs-pct{color:var(--text2)}.bs-contract-total td{border-top:2px solid var(--border)}.bs-co-divider td{height:6px;padding:0;border:none}.bs-co-section-hdr td{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);text-align:left;padding:0 10px;border-bottom:1px solid var(--border)}.bs-co-row td{border-bottom:1px solid var(--border)}.bs-co-inactive .budget-li-name,.bs-co-inactive .col-amount{color:var(--text3)}.bs-co-revised td{border-top:2px solid var(--border)}.bs-co-pill{display:inline-block;padding:1px 7px;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;vertical-align:baseline;line-height:1.4}.bs-co-pill-active{background:var(--green-dim);color:var(--green-text)}.bs-co-pill-inactive{background:var(--bg3);color:var(--text3)}[data-co-status-toggle]{cursor:pointer}.co-detail-back-meta{margin-left:8px;color:var(--text2);font-size:12px;display:inline-flex;align-items:center;gap:6px}.co-detail-back-meta .bs-co-pill{margin-right:0}.co-mode-toggle{display:inline-flex}.co-mode-btn{font-family:inherit;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 8px;line-height:1.4;border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer}.co-mode-btn:first-child{border-radius:8px 0 0 8px;border-right:none}.co-mode-btn:last-child{border-radius:0 8px 8px 0}.co-mode-btn.co-mode-active{background:var(--accent);color:var(--bg1);border-color:var(--accent)}.co-mode-btn:disabled{cursor:default;opacity:.5}.co-detail-menu-btn{margin-left:auto;background:none;border:none;padding:2px 6px;color:var(--text2);font-size:16px;line-height:1;cursor:pointer;border-radius:4px;font-family:inherit}.co-detail-menu-btn:hover{background:var(--bg3);color:var(--text1)}.bs-co-warn td{color:var(--text2);font-size:11px;font-style:italic}.scope-sheet-name-input{font:inherit;color:inherit;border:1px solid var(--accent);border-radius:4px;padding:1px 6px;outline:none;background:var(--bg1);min-width:140px}.budget-inline-input{font:inherit;color:var(--text1);border:1px solid var(--accent);border-radius:3px;padding:0 4px;outline:none;background:var(--bg1);text-align:right;width:90px;box-sizing:border-box}.co-locked .budget-table tbody td,.co-locked .budget-summary-foot td,.scope-locked .scope-entry-table tbody td,.scope-locked .scope-entry-table tfoot td{color:var(--text2)}.co-locked .co-mode-btn{cursor:default}.budget-empty{padding:40px 20px;text-align:center;color:var(--text3);font-size:12px}.budget-empty .budget-add-link{display:inline-block;margin-top:12px}.scope-entry-table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:Inter,-apple-system,system-ui,sans-serif}.scope-entry-table thead .budget-col-hdr th{height:28px;padding:0 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);background:var(--bg1);border-bottom:1px solid var(--border);text-align:left}.scope-entry-table thead .budget-col-hdr th.col-amount,.scope-entry-table thead .budget-col-hdr th.col-unit{text-align:right}.scope-entry-row{height:30px;border-bottom:1px solid var(--border)}.scope-entry-row>td{padding:0 8px;font-size:12px;vertical-align:middle;color:var(--text1);font-variant-numeric:tabular-nums}.scope-entry-row .se-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-entry-row .se-qty,.scope-entry-row .se-rate,.scope-entry-row .se-waste,.scope-entry-row .se-total{text-align:right}.scope-entry-row .se-total{font-weight:600}.scope-entry-row .se-unit{color:var(--text2);font-size:12px;text-align:right}.scope-entry-row .se-check{text-align:center;padding:0}.scope-entry-row .se-check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;cursor:pointer;width:14px;height:14px;border:1.5px solid #D1D5DB;border-radius:3px;background:transparent;vertical-align:middle;position:relative;transition:background .1s,border-color .1s}.scope-entry-row .se-check input:checked{background:#b8bcc4;border-color:#b8bcc4}.scope-entry-row .se-check input:checked:after{content:"";position:absolute;left:50%;top:45%;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:translate(-50%,-50%) rotate(45deg)}.scope-entry-row .se-del{text-align:center;padding:0;opacity:0;transition:opacity .12s}.scope-entry-row:hover .se-del{opacity:1}.scope-entry-row:hover{background:var(--bg3)}.scope-entry-highlight{background:var(--bg3)!important}.scope-entry-del{color:var(--text3);text-decoration:none;font-size:14px;line-height:1;display:inline-block;padding:4px}.scope-entry-del:hover{color:var(--red)}.scope-excluded .se-label,.scope-excluded .se-qty,.scope-excluded .se-rate,.scope-excluded .se-waste,.scope-excluded .se-total,.scope-excluded .se-unit{text-decoration:line-through}.scope-excluded{opacity:.4}.scope-add-row{padding:4px 10px}.scope-add-btn{display:inline-block;font-size:11px;color:var(--text3);text-decoration:none;padding:2px 0}.scope-add-btn:hover{color:var(--accent)}.scope-send-btn{flex-shrink:0;font-size:11px;font-weight:600;color:#3b82f6;text-decoration:none;border:1px solid #3B82F6;border-radius:10px;padding:3px 10px;transition:background .12s,color .12s}.scope-send-btn:hover{background:#3b82f6;color:#fff}.scope-entry-table tfoot td{padding:0 8px;font-size:12px;vertical-align:middle;color:var(--text1);font-variant-numeric:tabular-nums}.scope-add-entry-row td{padding:4px 10px!important}.scope-group-row td{padding:0 8px;height:22px;background:var(--bg2, #f6f7f9);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.scope-group-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}.scope-groupsub-row{height:26px}.scope-groupsub-row>td{padding:0 8px;font-size:12px;font-weight:600;color:var(--text2);border-top:1px solid var(--text3);border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.scope-groupsub-row .se-qty,.scope-groupsub-row .se-unit,.scope-groupsub-row .se-total{text-align:right}.scope-groupsub-label{white-space:nowrap}.scope-total-row{border-top:2px solid var(--text1)}.scope-markup-total-row>td{border-top:3px double var(--text1)}.se-dash{color:var(--text3)}.se-link{color:var(--accent);font-size:11px;margin-right:3px}.scope-entry-row[draggable=true]{cursor:default}.scope-dragging{opacity:.45}.scope-drop-before>td{box-shadow:inset 0 2px 0 0 var(--accent)}.scope-drop-after>td{box-shadow:inset 0 -2px 0 0 var(--accent)}.scope-total-row{height:30px;border-top:2px solid var(--border);background:var(--bg1)}.scope-markup-row,.scope-markup-total-row{height:30px;border-top:1px solid var(--border);background:var(--bg1)}.scope-add-markup-row td{padding:4px 10px!important}.scope-footer-label{font-size:12px;font-weight:600;color:var(--text1)}.scope-footer-total{font-size:12px;font-weight:600;color:var(--text1);font-variant-numeric:tabular-nums;text-align:right}.budget-note-card{position:fixed;z-index:var(--z-modals);width:210px;padding:10px 12px;background:#fff;color:#111;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 24px #0000001f,0 2px 6px #00000014;font-size:11px;line-height:1.4;white-space:pre-wrap}.scope-note{padding:8px 12px;font-size:11px;line-height:1.5;color:var(--text2);white-space:pre-wrap}.scope-note-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text3);margin-bottom:2px}.scope-note-empty{padding:6px 12px}.scope-note-add{font-size:11px;color:var(--text3);text-decoration:none}.scope-note-add:hover{color:var(--accent)}.scope-note-text{cursor:pointer;display:block}.scope-note-text:hover{color:var(--text1)}.scope-note-input{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--accent);border-radius:4px;padding:6px 8px;font-size:11px;line-height:1.5;font-family:inherit;color:var(--text1);background:#fff;outline:none}.scope-note-editing{padding:8px 12px}.scope-back-bar{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--border);background:#f8f9fa;flex-shrink:0}.scope-back-btn{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);text-decoration:none;flex-shrink:0}.scope-back-btn:hover{background:var(--bg3);color:var(--text1)}.scope-sheet-name{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-sheet-sep{color:var(--text3);margin:0 6px;font-weight:400}.scope-summary-amount{font-weight:400;color:var(--text2);font-variant-numeric:tabular-nums;font-size:13px}.scope-empty{padding:32px 20px;text-align:center;color:var(--text3);font-size:12px;line-height:1.8}.scope-quotes-section{margin-top:12px;padding:0 8px 12px}.scope-quotes-section.scope-locked{opacity:.6;pointer-events:none}.scope-quotes-header{font-size:10px;font-weight:600;color:var(--text3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.scope-quotes-count{color:var(--text3);font-weight:400}.scope-quotes-list{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.quote-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;background:var(--bg2);border-left:2px solid transparent;font-size:12px;min-height:30px;box-sizing:border-box}.quote-row-accepted{border-left-color:#16a34a}.quote-row-pending{border-left-color:#f59e0b}.quote-row-check{margin:0;flex-shrink:0}.quote-row-supplier{flex:1;min-width:0;color:var(--text1);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quote-row-total{color:var(--text1);font-variant-numeric:tabular-nums;min-width:72px;text-align:right;font-weight:600}.quote-row-view,.quote-row-menu{color:var(--text2);text-decoration:none;padding:2px 4px;border-radius:3px;flex-shrink:0;font-size:12px;line-height:1}.quote-row-view:hover,.quote-row-menu:hover{background:var(--bg3);color:var(--text1)}.quote-row-pill{font-size:10px;padding:1px 5px;border-radius:3px;flex-shrink:0}.quote-row-pill-expired{background:#f59e0b1f;color:#b45309}.quote-drop-zone{border:1px dashed var(--border);border-radius:4px;padding:8px 12px;text-align:center;color:var(--text3);font-size:11px;transition:background .12s,border-color .12s}.quote-drop-zone.quote-drop-active{border-color:var(--accent);background:var(--accent-dim)}.quote-drop-pick{color:var(--accent);text-decoration:none;font-weight:500}.quote-drop-pick:hover{text-decoration:underline}.right-column{width:400px;min-width:380px;max-width:700px;height:100%;display:flex;flex-direction:column;flex-shrink:0;position:relative;border-left:1px solid var(--border);overflow:visible}.budget-panel{flex:1;min-height:120px;background:var(--bg1);display:flex;flex-direction:column;overflow:hidden;position:relative}.budget-panel.detached{display:none}.budget-panel.floating{position:fixed;z-index:var(--z-panels-float);border-radius:12px;border:1px solid var(--border);box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;resize:both;overflow:hidden}.budget-panel.floating .budget-panel-resize{display:none}.float-toggle{width:26px;height:26px;border-radius:50%;background:#0000001f;border:none;display:flex;align-items:center;justify-content:center;opacity:.45;transition:opacity .15s,background .12s;cursor:pointer;padding:0;flex-shrink:0;position:relative}.float-toggle:hover{opacity:1}[data-theme=dark] .float-toggle{background:#fff3}.budget-panel.floating .float-toggle{opacity:.7}.budget-panel.floating .float-toggle:hover{opacity:1}.float-toggle:before{content:"";position:absolute;width:9px;height:9px;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);border-top:2px solid currentColor;border-right:2px solid currentColor}.budget-panel.floating .float-toggle:before{transform:translate(-50%,-50%) rotate(135deg)}.budget-panel.panel-collapsed,.right-column.panel-collapsed{display:none!important}.est-toggle-fab{z-index:600}.ce-editable{cursor:default}.ce-editable:hover{background:var(--accent-dim);outline:1px solid var(--accent);outline-offset:-1px}span.ce-editable{display:inline-block;padding:0 3px;margin:0 -3px;border-radius:3px}.ce-editing,.ce-editing:hover{padding:0 3px!important;background:transparent!important;outline:none!important}.ce-input{width:100%;height:26px;box-sizing:border-box;min-width:0;border:1px solid var(--accent);border-radius:4px;padding:0 5px;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;background:var(--bg1);color:var(--text1);outline:none;box-shadow:0 0 0 2px var(--accent-dim)}.ce-input.ce-num{text-align:right}body.ce-formula [data-kind-qty=material]{outline:1px dashed var(--accent);outline-offset:-1px;cursor:cell;background:var(--accent-dim)}select.ce-input{padding:0 2px;text-align:left}span.ce-editing{padding:0!important;margin:0!important}span.ce-editing .ce-input{width:auto;min-width:44px;height:22px}.scope-entry-table{table-layout:auto;width:100%}.scope-entry-table th,.scope-entry-table td{white-space:nowrap;overflow:visible;text-overflow:clip}.scope-entry-table th:nth-child(1),.scope-entry-table td:nth-child(1){width:26px;min-width:26px}.scope-entry-table th:nth-child(8),.scope-entry-table td:nth-child(8){width:22px}.scope-entry-table th:nth-child(5),.scope-entry-table td:nth-child(5),.scope-entry-table th:nth-child(6),.scope-entry-table td:nth-child(6){min-width:44px}.scope-entry-table thead th:nth-child(2),.scope-entry-table tbody td:nth-child(2){width:100%;max-width:0;overflow:hidden;text-overflow:ellipsis}.scope-entry-table tfoot td[colspan]{overflow:hidden;text-overflow:ellipsis}.est-toggle-fab{position:absolute;bottom:80px;bottom:calc(80px + env(safe-area-inset-bottom,0px));right:20px;z-index:var(--z-panels-float);width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 16px #2563eb4d,0 1px 4px #0000001a;transition:all .2s ease}.est-toggle-fab:hover{transform:scale(1.06);box-shadow:0 6px 24px #2563eb66}.est-toggle-fab:active{transform:scale(.95)}.est-close-btn{min-width:36px;min-height:36px;padding:0!important;font-size:0!important}.budget-panel-resize{position:absolute;left:-8px;top:0;bottom:0;width:16px;cursor:col-resize;z-index:var(--z-controls)}.budget-panel-resize:after{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;border-radius:1px;background:var(--accent);opacity:0;transition:opacity .15s}.budget-panel-resize:hover:after,.budget-panel-resize.dragging:after{opacity:.4}.sidebar-resize-handle{position:absolute;right:-6px;top:0;bottom:0;width:12px;cursor:col-resize;z-index:var(--z-controls)}.sidebar-resize-handle:after{content:"";position:absolute;top:0;bottom:0;width:2px;border-radius:1px;background:var(--accent);opacity:0;right:5px}.sidebar-resize-handle:hover:after,.sidebar-resize-handle.dragging:after{opacity:.4}.page-sidebar.sidebar-collapsed .sidebar-resize-handle{display:none}.tab-bar{display:flex;align-items:center;border-top:1px solid var(--border);background:var(--bg2);min-height:38px;overflow-x:auto;padding:0 4px;flex-shrink:0}.tab-bar::-webkit-scrollbar{height:0}.tab{padding:8px 14px;font-size:11.5px;font-weight:500;color:var(--text3);cursor:grab;border-bottom:none;border-top:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px;position:relative}.tab:hover{color:var(--text2)}.tab.active{color:var(--accent-text);border-top-color:var(--accent);font-weight:600;background:var(--bg1)}.tab.dragging{opacity:.35}.tab.drag-over-left{box-shadow:inset 3px 0 0 var(--accent)}.tab.drag-over-right{box-shadow:inset -3px 0 0 var(--accent)}.tab .tab-close{display:none;font-size:10px;padding:3px 4px;color:var(--text3);cursor:pointer;border-radius:4px}.tab .tab-close:hover{background:var(--red-dim);color:var(--red)}.tab:hover .tab-close{display:inline}.tab-add{padding:6px 12px;font-size:16px;color:var(--text3);cursor:pointer;border:none;background:none;flex-shrink:0;transition:color .15s}.tab-add:hover{color:var(--accent)}.preset-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg2)}.preset-search{flex:1;min-width:100px;padding:7px 12px;height:34px;background:var(--bg1);border:1px solid var(--border-strong);border-radius:8px;color:var(--text1);font-size:12px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.preset-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.preset-search::placeholder{color:var(--text3)}.preset-list{max-height:180px;overflow-y:auto;border-bottom:1px solid var(--border)}.preset-item{padding:8px 16px;display:flex;align-items:center;justify-content:space-between;font-size:12px;cursor:pointer;transition:background .1s}.preset-item:hover{background:var(--bg3)}.preset-item .pi-name{color:var(--text1);font-weight:500}.preset-item .pi-meta{color:var(--text3);font-family:JetBrains Mono,monospace;font-size:10px}.preset-item.is-template .pi-name{color:var(--accent-text)}.preset-item.is-template .pi-name:before{content:"⬡ ";font-size:10px}.panel-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.panel-header h3{font-size:14px;font-weight:600;color:var(--text1);letter-spacing:-.01em}.panel-totals{padding:12px 16px;background:var(--totals-bg);border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;flex-shrink:0}.ptotal{text-align:center;flex:1;background:var(--totals-card);border-radius:10px;padding:10px 8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ptotal .pl{font-size:9px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}.ptotal .pv{font-family:JetBrains Mono,monospace;font-size:17px;font-weight:700;color:var(--green-text);letter-spacing:-.02em}.est-list{flex:1;overflow-y:auto;padding:4px 0}.est-list::-webkit-scrollbar{width:6px}.est-list::-webkit-scrollbar-track{background:transparent}.est-list::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.group{margin-bottom:1px}.group-hdr{padding:10px 16px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:background .1s}.group-hdr:hover{background:var(--bg3)}.group-hdr .sub{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;color:var(--accent-text)}.est-item{padding:10px 16px 10px 28px;border-bottom:1px solid var(--item-border);display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer;transition:background .1s}.est-item:hover{background:var(--bg3)}.est-item .cdot{width:12px;height:12px;border-radius:4px;flex-shrink:0}.est-item .info{flex:1;min-width:0}.est-item .nm{font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.est-item .qt{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--text2);margin-top:2px}.est-item .cst{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:var(--green-text);white-space:nowrap}.est-item .del{opacity:0;background:none;border:none;color:var(--red);cursor:pointer;padding:4px;font-size:12px;transition:opacity .1s;border-radius:4px}.est-item .del:hover{background:var(--red-dim)}.est-item:hover .del{opacity:1}.est-item .tab-badge{font-size:9px;color:var(--text3);background:var(--bg3);padding:2px 7px;border-radius:100px;margin-left:4px;font-weight:500}.est-item.disabled-item{opacity:.35}.est-item.disabled-item .cst{color:var(--text3)}.tgroup{margin-bottom:1px;border-left:3px solid var(--accent);background:var(--tgroup-bg)}.tgroup-hdr{padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer;transition:background .1s}.tgroup-hdr:hover{background:var(--bg3)}.tgroup-hdr .tg-arrow{color:var(--text3);font-size:9px;transition:transform .2s ease;flex-shrink:0}.tgroup-hdr .tg-arrow.open{transform:rotate(90deg)}.tgroup-hdr .tg-dot{width:12px;height:12px;border-radius:4px;flex-shrink:0}.tgroup-hdr .tg-info{flex:1;min-width:0}.tgroup-hdr .tg-name{font-weight:700;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.tgroup-hdr .tg-meta{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--text2);margin-top:2px}.tgroup-hdr .tg-total{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;color:var(--green-text);white-space:nowrap}.tgroup-hdr .tg-costper{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;color:var(--accent-text);background:var(--accent-mid);padding:3px 8px;border-radius:100px;white-space:nowrap;margin-left:4px}.tgroup-items{overflow:hidden;transition:max-height .25s ease}.tgroup-items.collapsed{max-height:0!important}.tgroup-items .est-item{padding-left:40px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-bg);animation:fadeIn .12s ease}.modal-bg.transparent{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.modal-bg.transparent .modal{pointer-events:auto}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.modal{background:var(--bg-popover);border:1px solid var(--border-strong);border-radius:16px;width:540px;min-width:380px;min-height:300px;max-height:90vh;padding:0;overflow:hidden;box-shadow:var(--shadow-modal);animation:sheetIn .25s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;resize:both}.modal-body{flex:1;overflow-y:auto;padding:0 28px 28px}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.modal.draggable{position:fixed;margin:0}.modal .drag-handle{cursor:grab;padding:20px 28px 12px;border-radius:16px 16px 0 0;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal .drag-handle:active{cursor:grabbing}.modal .drag-handle h3{margin-bottom:0}.modal h3{font-size:18px;margin-bottom:20px;font-weight:700;letter-spacing:-.02em}.mf{margin-bottom:16px}.mf label{display:block;font-size:13px;font-weight:500;color:var(--text2);margin-bottom:6px;height:16px;line-height:16px;overflow:hidden;white-space:nowrap}.mf input,.mf select{width:100%;padding:10px 14px;height:44px;background:var(--bg2);border:1.5px solid var(--border-strong);border-radius:10px;color:var(--text1);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.mf input:focus,.mf select:focus{border-color:var(--accent);background:var(--bg1);box-shadow:0 0 0 3px var(--accent-dim)}.mf input::placeholder{color:var(--text3)}.mf select option{background:var(--bg-popover)}.mrow{display:flex;gap:12px}.mrow>.mf{flex:1;min-width:0}.mactions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-bottom:4px}.computed{background:var(--computed-bg);border-radius:12px;padding:14px 16px;margin-bottom:14px;border:1px solid var(--border)}.cr{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;align-items:center}.cr .cl{color:var(--text2)}.cr .cv{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--text1);font-size:12px}.cr.total{padding-top:8px;margin-top:4px;border-top:1px solid var(--border)}.cr.total .cv{color:var(--green-text);font-size:16px;font-weight:700}.cr input.medit{background:var(--bg1);border:1px solid var(--border-strong);border-radius:6px;padding:4px 10px;height:28px;width:120px;text-align:right;color:var(--text1);font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;outline:none;transition:border-color .15s,box-shadow .15s}.cr input.medit:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.combo{position:relative}.combo input{width:100%;padding:10px 34px 10px 14px;height:44px;background:var(--bg2);border:1.5px solid var(--border-strong);border-radius:10px;color:var(--text1);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.combo input:focus{border-color:var(--accent);background:var(--bg1);box-shadow:0 0 0 3px var(--accent-dim)}.combo-tog{position:absolute;right:4px;top:4px;bottom:4px;width:30px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text3);cursor:pointer;font-size:10px;border-radius:4px}.combo-tog:hover{color:var(--text1)}.combo-dd{position:absolute;top:100%;left:0;right:0;z-index:var(--z-controls);background:var(--bg-popover);border:1px solid var(--border-strong);border-radius:8px;max-height:200px;overflow-y:auto;margin-top:4px;box-shadow:var(--shadow-float)}.combo-dd.hidden{display:none}.combo-opt{padding:8px 14px;font-size:12px;cursor:pointer;color:var(--text2);transition:background .1s}.combo-opt:hover{background:var(--bg3);color:var(--text1)}.color-picker{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.color-swatch{width:28px;height:28px;border-radius:7px;cursor:pointer;border:2.5px solid transparent;transition:all .15s;position:relative}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--text1);box-shadow:0 0 0 2px var(--accent)}.color-swatch.selected:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--swatch-check);font-size:13px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.5)}.opacity-row{display:flex;align-items:center;gap:12px;margin-top:8px}.opacity-row label{font-size:11px;color:var(--text2);white-space:nowrap;font-weight:500}.opacity-row input[type=range]{flex:1;accent-color:var(--accent);height:4px}.opacity-row .oval{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text1);width:36px;text-align:right;font-weight:600}.section-label{font-size:12px;font-weight:600;color:var(--text2);margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--border)}.cal-modal{width:440px;padding:28px;display:block;resize:none;overflow-y:auto}.cal-desc{font-size:13px;color:var(--text2);margin-bottom:18px;line-height:1.5}.cal-unit{max-width:100px}.cal-hint{font-size:11px;color:var(--text3);margin-top:8px}.tab-modal{width:380px;padding:28px;display:block;resize:none;overflow-y:auto}.page-nav{display:flex;align-items:center;gap:6px}.page-nav span{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text2);font-weight:500}.page-nav .btn{padding:5px 10px}.tpl-comp{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;margin-bottom:4px;transition:opacity .15s,background .1s;border:1px solid transparent}.tpl-comp:hover{background:var(--bg3)}.tpl-comp.off{opacity:.3}.tpl-comp .tc-check{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.tpl-comp .tc-name{flex:1;font-size:12px;font-weight:500;color:var(--text1);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpl-comp .tc-qty{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text2);width:80px;text-align:right;white-space:nowrap;flex-shrink:0}.tpl-comp .tc-unit{font-size:11px;color:var(--text3);width:26px;flex-shrink:0}.tpl-comp .tc-cost-input{background:var(--bg1);border:1px solid var(--border-strong);border-radius:6px;padding:4px 8px;height:28px;width:84px;text-align:right;color:var(--text1);font-family:JetBrains Mono,monospace;font-size:12px;outline:none;flex-shrink:0;transition:border-color .15s}.tpl-comp .tc-cost-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.tpl-comp .tc-line{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700;color:var(--green-text);width:84px;text-align:right;white-space:nowrap;flex-shrink:0}.tpl-fields{background:var(--computed-bg);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:14px}.tpl-fields .section-label{margin-top:0;padding-top:0;border-top:none}.tpl-mode-switch{display:flex;gap:4px;margin-bottom:16px}.tpl-mode-switch .btn{flex:1;justify-content:center;padding:8px 14px}.cal-banner{position:absolute;top:16px;left:0;right:0;margin:0 auto;width:fit-content;z-index:var(--z-controls);display:flex;align-items:center;gap:14px;background:var(--cal-banner-bg);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid var(--border-strong);border-radius:12px;padding:10px 12px 10px 14px;box-shadow:var(--shadow-float);animation:slideDown .3s cubic-bezier(.16,1,.3,1);max-width:min(860px,calc(100% - 32px));cursor:default;pointer-events:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.cal-banner-icon{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center}.cal-banner-icon svg{width:18px;height:18px;color:var(--accent)}.cal-banner-text{flex:1;min-width:0}.cal-banner-text strong{display:block;font-size:13px;font-weight:600;color:var(--text1);margin-bottom:1px;letter-spacing:-.01em;white-space:nowrap}.cal-banner-text span{font-size:12px;color:var(--text2);line-height:1.4;display:block;max-width:520px}.cal-banner-actions{display:flex;gap:6px;flex-shrink:0;margin-left:4px}.cal-banner .btn{padding:7px 14px;font-size:12px;white-space:nowrap}.cal-banner .btn.hidden{display:none}.cal-banner.nudge{animation:calNudge .8s cubic-bezier(.36,.07,.19,.97)}@keyframes calNudge{0%{box-shadow:var(--shadow-float),0 0 #0b5fd673}10%,30%,50%{transform:translate(-4px)}20%,40%{transform:translate(4px)}60%{transform:none}to{box-shadow:var(--shadow-float),0 0 0 14px #0b5fd600}}.export-modal{width:440px;padding:24px 24px 20px;display:block;resize:none}.export-modal h3{margin-bottom:14px}.export-format{display:inline-flex;background:var(--bg2);border:1px solid var(--border);border-radius:9px;padding:3px;margin-bottom:16px}.export-format-btn{border:0;background:transparent;color:var(--text2);font:inherit;font-size:12px;font-weight:500;padding:6px 16px;border-radius:7px;cursor:pointer}.export-format-btn.active{background:var(--bg1);color:var(--text1);box-shadow:0 1px 3px #0000001a}.export-section{padding:10px 0;border-top:1px solid var(--border)}.export-section-head{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);margin-bottom:6px}.export-section-head span{flex:1}.export-link{border:0;background:transparent;color:var(--accent-text);font:inherit;font-size:11px;font-weight:500;cursor:pointer;padding:2px 4px;border-radius:4px}.export-link:hover{background:var(--accent-dim)}.export-sheets{max-height:220px;overflow-y:auto;margin:0 -6px;padding:0 6px}.export-check{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13px;color:var(--text1);cursor:pointer}.export-check input{width:15px;height:15px;accent-color:var(--accent);margin:0}.export-check input:disabled+span{color:var(--text3)}.export-check>span:nth-of-type(1){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-dim{font-size:12px;color:var(--text3);font-variant-numeric:tabular-nums}.export-modal .mactions{margin-top:14px}.cal-pop{position:absolute;z-index:calc(var(--z-controls) + 1);width:336px;background:var(--bg1);border:1px solid var(--border-strong);border-radius:12px;padding:12px 12px 10px;box-shadow:var(--shadow-float),0 12px 40px #00000024;animation:popIn .18s cubic-bezier(.16,1,.3,1);--arrow-x: 50%}@keyframes popIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}.cal-pop:before{content:"";position:absolute;left:var(--arrow-x);top:-7px;width:12px;height:12px;margin-left:-6px;background:var(--bg1);border-left:1px solid var(--border-strong);border-top:1px solid var(--border-strong);transform:rotate(45deg)}.cal-pop.above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.cal-pop-label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text2);margin:0 2px 7px}.cal-pop-row{display:flex;align-items:center;gap:6px}.cal-pop-row input{flex:1;min-width:0;height:36px;padding:0 12px;background:var(--bg2);border:1.5px solid var(--border-strong);border-radius:9px;color:var(--text1);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.cal-pop-row input:focus{border-color:var(--accent);background:var(--bg1);box-shadow:0 0 0 3px var(--accent-dim)}.cal-pop.invalid .cal-pop-row input{border-color:var(--red);box-shadow:0 0 0 3px #ff3b301f}.cal-pop-row .btn{height:36px;padding:0 14px;font-size:12px;white-space:nowrap}.cal-pop-x{width:30px;height:36px;border:0;background:transparent;color:var(--text3);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0}.cal-pop-x:hover{background:var(--bg3);color:var(--text1)}.cal-pop-x svg{width:14px;height:14px}.cal-pop-hint{font-size:11px;color:var(--text3);margin:8px 2px 0}.scale-ind.pulse{animation:scalePulse .7s cubic-bezier(.16,1,.3,1)}@keyframes scalePulse{0%{box-shadow:0 0 #34c7598c}to{box-shadow:0 0 0 12px #34c75900}}.mf textarea{width:100%;padding:10px 14px;min-height:40px;max-height:80px;background:var(--bg2);border:1.5px solid var(--border-strong);border-radius:10px;color:var(--text1);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;resize:vertical;line-height:1.4}.mf textarea:focus{border-color:var(--accent);background:var(--bg1);box-shadow:0 0 0 3px var(--accent-dim)}.mf textarea::placeholder{color:var(--text3)}.est-item .desc{font-size:10.5px;color:var(--text3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.page-sidebar{--sidebar-w: 170px;width:var(--sidebar-w);min-width:170px;max-width:400px;background:var(--bg1);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:visible;min-height:0;flex-shrink:0;position:relative;margin-left:0;transition:margin-left .28s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s;will-change:margin-left}.page-sidebar.sidebar-collapsed{margin-left:calc(-1 * var(--sidebar-w));visibility:hidden;transition:margin-left .28s cubic-bezier(.4,0,.2,1),visibility 0s linear .28s}.ps-header{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-shrink:0}.ps-title{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.ps-close{background:none;border:none;color:var(--text3);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px;transition:all .12s}.ps-close:hover{color:var(--text1);background:var(--bg3)}.ps-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:12px 2px 40px 8px;margin-right:6px;display:flex;flex-direction:column;gap:0;align-items:center;scrollbar-width:thin;scrollbar-color:var(--bg4) transparent;overscroll-behavior:contain}.ps-thumb{cursor:default;border-radius:6px;border:2px solid transparent;overflow:hidden;transition:border-color .15s,box-shadow .15s;position:relative;background:var(--bg-canvas);scroll-margin:8px 0;width:calc(100% - 16px);max-width:360px;flex-shrink:0}.ps-thumb-open{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer;z-index:1}.ps-thumb-open:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.ps-thumb:hover{border-color:var(--border-strong)}.ps-thumb.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.ps-thumb.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);opacity:.85;will-change:transform,opacity}.ps-thumb.selected.active{opacity:1}.ps-thumb.selected+.ps-num{color:var(--accent);font-weight:600}.ps-thumb.has-meas:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--indicator-meas);border-radius:3px 0 0 3px;z-index:var(--z-thumb-badge)}.ps-thumb canvas{display:block;width:100%;height:auto;max-height:100%;opacity:0;transition:opacity .15s ease}.ps-thumb canvas.rendered{opacity:1}.ps-thumb-skeleton{background:var(--bg3, #e5e7eb);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite;width:100%;aspect-ratio:1.4 / 1}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}[data-theme=dark] .ps-thumb-skeleton{background:var(--bg3, #374151)}.ps-num{display:block;text-align:center;font-size:12px;font-weight:400;color:var(--text2);margin:4px 0 14px;line-height:1}.ps-thumb.active+.ps-num{color:var(--text1);font-weight:600}.ps-thumb-del{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;border:none;background:#00000073;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,background .12s;z-index:var(--z-thumb-badge);padding:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ps-thumb:hover .ps-thumb-del,.ps-thumb-del:focus-visible{opacity:1}.ps-thumb-del:hover{background:#000000b3}.ps-thumb-del:before,.ps-thumb-del:after{content:"";position:absolute;width:8px;height:1.5px;background:#fff;border-radius:1px}.ps-thumb-del:before{transform:rotate(45deg)}.ps-thumb-del:after{transform:rotate(-45deg)}.page-sidebar.no-transition{transition:none!important}.ps-thumb.dragging{visibility:hidden}.ps-thumb.dragging+.ps-num{visibility:hidden}.ps-thumb.drag-shift{transition:transform .2s ease-out;will-change:transform}.ps-list .ps-thumb.collapsing{transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);transform:scale(.85) translateZ(0);opacity:0;pointer-events:none;will-change:transform,opacity}.page-sidebar.file-dragover{background-color:#007aff0a}[data-theme=dark] .page-sidebar.file-dragover{background-color:#007aff0f}.ps-add-page{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:var(--z-controls);padding:6px 12px;border:1px solid rgba(0,0,0,.1);border-radius:8px;background:#ffffffa6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text1);font-size:11px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}[data-theme=dark] .ps-add-page{background:#1e1e1ea6;border-color:#ffffff1a}.ps-add-page:hover{filter:brightness(1.05);box-shadow:0 0 0 2px var(--accent-dim)}.ps-pdf-label{font-size:10px;font-weight:600;color:var(--text2);padding:8px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-pdf-label:first-child{padding-top:0}.sidebar-toggle .pane{opacity:0;transition:opacity .12s}.sidebar-toggle.open .pane{opacity:.22}.drop-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-drop-zone);display:flex;align-items:center;justify-content:center;background:#2563eb0f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drop-zone-inner{padding:24px 40px;border:2px dashed var(--accent);border-radius:16px;font-size:16px;font-weight:600;color:var(--accent);background:var(--bg-glass)}.empty-state{padding:64px 24px;text-align:center;color:var(--text3);font-size:14px;line-height:1.6}.empty-state svg{width:40px;height:40px;color:var(--bg4);margin-bottom:12px}.ai-panel{display:none;flex-direction:column;min-height:120px;background:var(--bg1);overflow:hidden;position:relative}.ai-panel-resize{position:absolute;left:-8px;top:0;bottom:0;width:16px;cursor:col-resize;z-index:var(--z-controls)}.ai-panel-resize:after{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;border-radius:1px;background:var(--accent);opacity:0;transition:opacity .15s}.ai-panel-resize:hover:after,.ai-panel-resize.dragging:after{opacity:.4}.right-col-divider{height:7px;cursor:row-resize;background:transparent;flex-shrink:0;position:relative}.right-col-divider:after{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:var(--border)}.right-col-divider:hover:after,.right-col-divider.dragging:after{background:var(--accent)}.ai-panel-header{padding:8px 10px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg2);-webkit-user-select:none;user-select:none}.ai-panel-title{flex:1;font-size:12px;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-panel-title strong{font-weight:600}.ai-panel-subtitle{font-size:10px;color:var(--text2)}.ai-panel-header-actions{display:flex;gap:6px;flex-shrink:0}.ai-panel-header-actions button{background:none;border:none;color:var(--text2);cursor:pointer;padding:4px;border-radius:6px;transition:all .12s;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.ai-panel-header-actions button:hover{background:var(--bg3);color:var(--text1)}.ai-panel-messages{flex:1;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;padding:12px 14px;display:flex;flex-direction:column;gap:0;-webkit-user-select:text;user-select:text}.ai-panel-messages::-webkit-scrollbar{width:4px}.ai-panel-messages::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:2px}.ai-msg{max-width:100%;min-width:0;font-size:13px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;-webkit-user-select:text;user-select:text;margin-bottom:24px}.ai-msg:last-child{margin-bottom:0}.ai-msg.user{text-align:right;color:var(--text2)}.ai-msg.assistant{color:var(--text1)}.ai-msg.assistant strong{color:var(--text1);font-weight:600}.ai-msg.system{text-align:center;font-size:12px;color:var(--text3);padding:8px 0}.ai-msg.error{text-align:center;font-size:12px;color:var(--red);padding:8px 0}.ai-action-btn{display:inline-block;margin:8px 0 4px;padding:5px 12px;background:none;border:1px solid var(--border-strong);border-radius:16px;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .15s}.ai-action-btn:hover{background:var(--bg3)}.ai-action-btn:disabled{opacity:.5;cursor:default}.ai-feedback{display:flex;gap:4px;margin-top:4px;opacity:0;transition:opacity .15s}.ai-msg.assistant:hover .ai-feedback{opacity:1}.ai-feedback-btn{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;opacity:.4;transition:opacity .15s}.ai-feedback-btn:hover{opacity:1}.ai-feedback-thanks{font-size:10px;color:var(--text3)}.ai-typing{margin-bottom:24px;display:flex;gap:4px;align-items:center}.ai-typing span{width:6px;height:6px;border-radius:50%;background:var(--text3);animation:typeDot .8s ease-in-out infinite}.ai-typing span:nth-child(2){animation-delay:.15s}.ai-typing span:nth-child(3){animation-delay:.3s}@keyframes typeDot{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-panel-pills{padding:4px 12px 8px;display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.ai-pill{padding:4px 10px;background:none;border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--text2);cursor:pointer;transition:all .12s}.ai-pill:hover{background:var(--accent-dim);color:var(--accent-text);border-color:var(--accent)}.ai-panel-drop-zone{position:absolute;top:40px;right:0;bottom:50px;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg1) 90%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px dashed var(--border-strong);border-radius:8px;margin:8px;z-index:2;color:var(--text3);font-size:12px;font-weight:500}.ai-panel-input-area{padding:8px 10px;border-top:1px solid var(--border);display:flex;gap:8px;flex-shrink:0;background:var(--bg2)}.ai-panel-input{flex:1;padding:7px 12px;background:var(--bg1);border:1px solid var(--border-strong);border-radius:8px;color:var(--text1);font-size:13px;font-family:inherit;outline:none;min-height:34px;line-height:1.4;transition:border-color .15s}.ai-panel-input:focus{border-color:var(--accent)}.ai-panel-input::placeholder{color:var(--text3)}.ai-panel-send{width:34px;height:34px;border-radius:8px;background:var(--text1);color:var(--bg1);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;align-self:flex-end}.ai-panel-send:hover{background:var(--text2)}.ai-panel-send:disabled{opacity:.4;cursor:default}.ai-panel-send svg{width:14px;height:14px}.dashboard{min-height:100vh;min-height:100dvh;background:var(--bg1);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}[data-theme=dark] .dashboard{background:var(--bg1)}.dashboard::-webkit-scrollbar{width:6px}.dashboard::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.dash-header{padding-top:env(safe-area-inset-top,0px);height:calc(64px + env(safe-area-inset-top,0px));flex-shrink:0;border-bottom:1px solid var(--border);background:var(--bg1)}.dash-header-inner{max-width:1448px;margin:0 auto;width:100%;box-sizing:border-box;padding:0 32px;height:100%;display:flex;align-items:center;gap:0}.dash-logo{font-family:Inter,-apple-system,sans-serif;font-weight:700;font-size:17px;color:var(--text1);letter-spacing:-.02em}.dash-logo span{color:var(--accent);font-weight:700}.dash-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:0;margin-right:8px;vertical-align:middle;position:relative;top:-1px}.dash-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.dash-toolbar{padding:16px 40px;display:flex;align-items:center;gap:12px;flex-shrink:0;max-width:1448px;margin:0 auto;width:100%;box-sizing:border-box}.dash-search-wrap{position:relative;flex:1;max-width:240px}.dash-search-wrap svg{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--text3);pointer-events:none}.dash-search{width:100%;padding:6px 10px 6px 26px;background:transparent;border:1.5px solid transparent;border-radius:8px;color:var(--text1);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,background .15s,box-shadow .15s}.dash-search:focus{border-color:var(--accent);background:var(--bg1);box-shadow:0 0 0 3px var(--accent-dim)}.dash-search::placeholder{color:var(--text3)}.dash-filter-tabs{display:flex;align-items:center;gap:4px}.dash-filter-tab{background:none;border:none;padding:4px 8px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text3);cursor:pointer;font-family:inherit;transition:color .12s}.dash-filter-tab:hover{color:var(--text1)}.dash-filter-tab.active{color:var(--text1);font-weight:600}.dash-filter-sep{color:var(--text3);font-size:11px;opacity:.4}.dash-count{display:none}#projectsView{flex:1;display:flex;flex-direction:column}.dash-body{flex:1;display:flex;flex-direction:column;padding:0 40px 40px;align-items:center}.dash-grid-wrap{max-width:1200px;width:100%;padding:0 24px;box-sizing:border-box;margin:0 auto}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.dash-card{background:var(--bg1, #fff);border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:24px;cursor:pointer;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;height:300px;box-sizing:border-box;box-shadow:0 1px 4px #0000000a}.dash-card:hover{border-color:#0000002e;box-shadow:0 2px 12px #00000012}.dash-card-new{border-style:dashed;border-color:#0000001f;align-items:center;justify-content:center;gap:10px;font-size:15px;color:var(--text3);font-weight:500}.dash-card-new:hover{border-color:var(--accent);color:var(--accent)}.dash-card-new:hover svg{color:var(--accent)}.dash-card-top{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:14px;margin-bottom:14px;flex-shrink:0;gap:8px;border-bottom:1px solid rgba(0,0,0,.06)}.dash-card-name{font-size:20px;font-weight:700;color:var(--text1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.dash-card-menu{width:28px;height:28px;border-radius:50%;background:transparent;color:var(--text3);border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.35;transition:opacity .15s,background .1s;flex-shrink:0;line-height:0}.dash-card-menu svg{width:16px;height:4px;flex-shrink:0}.dash-card:hover .dash-card-menu{opacity:1}.dash-card-menu:hover{background:var(--bg3);color:var(--text1)}.dash-card-drop-active{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-dim)}.dash-card-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.dash-card-client{font-size:16px;color:var(--text1);font-weight:600}.dash-card-address{font-size:14px;color:var(--text2);line-height:1.4}.dash-card-detail{font-size:14px;color:var(--text2)}.dash-card-detail:last-of-type{color:var(--text3)}.dash-details-modal{background:var(--bg-popover, #fff);border:1px solid var(--border-strong);border-radius:14px;width:400px;padding:24px 28px 20px;box-shadow:var(--shadow-modal);animation:sheetIn .2s ease;font-family:Inter,-apple-system,sans-serif}.dash-details-title{font-size:17px;font-weight:600;color:var(--text1);margin-bottom:20px}.dash-details-label{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:14px}.dash-details-input{display:block;width:100%;margin-top:4px;padding:8px 10px;font-size:14px;font-family:inherit;color:var(--text1);background:var(--bg1);border:1.5px solid var(--border-strong);border-radius:8px;outline:none;box-sizing:border-box;transition:border-color .15s}.dash-details-input:focus{border-color:var(--accent)}.dash-details-input::placeholder{color:var(--text3)}select.dash-details-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px}.dash-details-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.dash-details-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg2);color:var(--text1);font-size:13px;font-family:inherit;cursor:pointer}.dash-details-btn-save{padding:8px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer}.dash-details-btn-save:hover{opacity:.9}.dash-delete-modal{background:var(--bg-popover, #fff);border:1px solid var(--border-strong);border-radius:14px;width:320px;padding:24px 28px 20px;box-shadow:var(--shadow-modal);animation:sheetIn .2s ease;font-family:Inter,-apple-system,sans-serif}.dash-delete-msg{font-size:16px;font-weight:600;color:var(--text1);margin-bottom:6px}.dash-delete-sub{font-size:13px;color:var(--text2);margin-bottom:20px}.dash-delete-btn{padding:8px 20px;border-radius:8px;border:none;background:var(--red);color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer}.dash-delete-btn:hover{opacity:.9}.dash-card-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding-top:12px;border-top:1px solid rgba(0,0,0,.05)}.dash-card-date{font-size:13px;color:var(--text3);display:inline-flex;align-items:center;gap:6px}.dash-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dash-dot-active{background:#34c759}.dash-dot-completed{background:var(--accent, #007aff)}.dash-dot-on_hold{background:#ff9f0a}.dash-card-total{font-size:16px;font-weight:700;color:var(--text1);font-variant-numeric:tabular-nums}.dash-empty{grid-column:1 / -1;text-align:center;padding:48px 20px;color:var(--text3);font-size:13px}.dash-empty-welcome{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;padding:80px 20px}.dash-empty-card{text-align:center;background:var(--bg-popover, #fff);border:1px solid var(--border);border-radius:16px;padding:48px 40px;box-shadow:0 2px 8px #0000000a;max-width:340px;width:100%}.dash-empty-card h3{font-size:20px;font-weight:600;color:var(--text1);margin:0 0 8px}.dash-empty-card p{font-size:14px;color:var(--text2);margin:0 0 24px;line-height:1.5}.dash-welcome-cta{display:inline-flex;align-items:center;gap:6px;padding:14px 32px;height:44px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s}.dash-welcome-cta:hover{background:var(--accent-hover)}.dash-tip-bar{padding:10px 40px;font-size:13px;color:var(--text2);line-height:1.5;flex-shrink:0}.tip-label{display:inline-block;font-size:11px;font-weight:600;color:var(--accent-text);background:var(--accent-dim);padding:2px 8px;border-radius:4px;margin-right:8px;vertical-align:1px}.dash-partners{margin-top:auto;padding-top:24px;border-top:1px solid var(--border)}.partners-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.partners-label{font-size:12px;font-weight:500;color:var(--text3)}.partners-ad{font-size:10px;font-weight:500;color:var(--text3)}.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.partners-grid{grid-template-columns:1fr}}.partner-card{display:flex;align-items:stretch;gap:18px;padding:20px;background:var(--bg1);border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:all .15s;cursor:pointer}.partner-card:hover{border-color:var(--border-strong);box-shadow:0 2px 10px #0000000a}.partner-logo{width:60px;align-self:stretch;border-radius:10px;background:var(--bg3);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.partner-logo img{width:100%;height:100%;object-fit:cover}.partner-logo span{font-size:16px;font-weight:600;color:var(--text3)}.partner-text{flex:1;min-width:0}.partner-name{font-size:14px;font-weight:600;color:var(--text1);margin-bottom:2px}.partner-what{font-size:12px;color:var(--accent-text);font-weight:500;margin-bottom:5px}.partner-desc{font-size:13px;color:var(--text2);line-height:1.5}.partner-loc{font-size:11px;color:var(--text3);margin-top:5px}.dash-nav{display:flex;gap:4px;margin-left:44px}.dash-nav-tab{padding:8px 16px;font-size:14px;font-weight:500;color:var(--text3);background:none;border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s;letter-spacing:-.01em}.dash-nav-tab:hover{color:var(--text1)}.dash-nav-tab.active{color:var(--text1);font-weight:600;border-bottom:2px solid var(--accent);border-radius:0}.lib-view{padding:48px 40px 40px;flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.lib-sections.lib-card-grid{max-width:1400px;width:100%;padding:0 24px;box-sizing:border-box}.lib-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}@media(max-width:900px){.lib-card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.lib-card-grid{grid-template-columns:1fr}}.lib-card{background:var(--bg1, #fff);border:1px solid rgba(0,0,0,.1);border-radius:12px;cursor:pointer;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;padding:24px;height:300px;box-sizing:border-box;box-shadow:0 1px 4px #0000000a}.lib-card:hover{border-color:#0000002e;box-shadow:0 2px 12px #00000012}.lib-card-disabled{pointer-events:none}.lib-card-disabled .lib-card-icon{opacity:.4}.lib-card-disabled .lib-card-title,.lib-card-disabled .lib-card-desc{color:var(--text3)}.lib-card-icon{width:56px;height:56px;border-radius:14px;background:var(--bg3);display:flex;align-items:center;justify-content:center;color:var(--text2);margin-bottom:16px;flex-shrink:0}.lib-card-title{font-size:16px;font-weight:600;color:var(--text1);margin-bottom:6px}.lib-card-desc{font-size:13px;color:var(--text3);line-height:1.5;flex:1}.lib-card-footer{display:flex;align-items:center;justify-content:flex-end;padding-top:12px;margin-top:auto}.lib-card-chev{font-size:22px;color:var(--text3);line-height:1}.lib-coming-soon{display:inline-block;background:#0000000d;border-radius:4px;padding:2px 10px;font-size:11px;font-weight:500;color:var(--text3)}.bte-list-view{max-width:1400px;width:100%;padding:0 24px;box-sizing:border-box}.bte-list-header{display:flex;align-items:center;gap:6px;padding:0 0 14px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:28px}.bte-breadcrumb-link{font-size:15px;color:var(--text3);text-decoration:none;transition:color .12s;font-weight:500}.bte-breadcrumb-link:hover{color:var(--accent)}.bte-breadcrumb-sep{font-size:14px;color:var(--text3);margin:0 2px}.bte-new-btn{background:var(--accent, #1a1a1a);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .12s}.bte-new-btn:hover{opacity:.85}.bte-import-btn{background:transparent;border:1px solid var(--border1, rgba(0,0,0,.12));color:var(--text1);padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s}.bte-import-btn:hover{background:#0000000a}.bte-header-title{font-size:15px;font-weight:600;color:var(--text1);flex:1}.bte-empty{text-align:center;padding:48px 16px;color:var(--text3)}.bte-empty-title{font-size:15px;font-weight:500;color:var(--text2);margin-bottom:6px}.bte-empty-sub{font-size:13px}.bte-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}@media(max-width:900px){.bte-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.bte-card-grid{grid-template-columns:minmax(0,1fr)}}.bte-card{background:var(--bg1, #fff);border:1px solid rgba(0,0,0,.1);border-radius:12px;cursor:pointer;transition:box-shadow .15s,border-color .15s;display:flex;flex-direction:column;height:400px;box-sizing:border-box;box-shadow:0 1px 4px #0000000a}.bte-card:hover{border-color:#0000002e;box-shadow:0 2px 12px #00000012}.bte-card-ghost{opacity:.25}.bte-card-dragging{box-shadow:0 8px 24px #00000026!important;border-color:var(--accent)!important}.bte-card-new{border-style:dashed;border-color:#0000001f;align-items:center;justify-content:center;gap:10px;font-size:14px;color:var(--text3);font-weight:500}.bte-card-new:hover{border-color:var(--accent);color:var(--accent);background:#00000003}.bte-card-new:hover svg{color:var(--accent)}.bte-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px 14px 20px;flex-shrink:0;border-bottom:1px solid rgba(0,0,0,.05)}.bte-card-title{flex:1;min-width:0;font-size:16px;font-weight:600;color:var(--text1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 4px;border-radius:4px}.bte-card-title:hover{background:#00000008}.bte-card-rename-input{font-size:16px;font-weight:600;font-family:inherit;padding:2px 4px;border-radius:4px;border:1px solid var(--accent);outline:none;background:var(--bg1);color:var(--text1);width:100%}.bte-menu-btn{background:none;border:none;color:var(--text3);cursor:pointer;padding:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:opacity .15s,background .1s;flex-shrink:0;opacity:0}.bte-card:hover .bte-menu-btn{opacity:1}.bte-menu-btn:hover{background:var(--bg3);color:var(--text1)}.bte-card-preview{flex:1;min-height:0;overflow-y:auto;padding:8px 20px;-webkit-overflow-scrolling:touch;background:#00000006}[data-theme=dark] .bte-card-preview{background:#ffffff05}.bte-card-cat{display:flex;align-items:center;gap:6px;margin-top:6px;padding:8px 0 4px}.bte-card-cat:first-child{margin-top:0}.bte-card-cat-name{font-size:13px;font-weight:700;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.bte-card-item{font-size:12px;color:var(--text3);padding:3px 0 3px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.7}.bte-card-empty-hint{font-size:13px;color:var(--text3);font-style:italic;text-align:center;display:flex;align-items:center;justify-content:center;height:100%}.bte-card-footer{display:flex;align-items:center;gap:8px;padding:12px 20px 14px;font-size:13px;font-weight:500;color:var(--text3);border-top:1px solid rgba(0,0,0,.08);flex-shrink:0}.bte-default-badge{display:inline-block;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;margin-left:auto}.bte-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-bte-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.bte-overlay.bte-overlay-in{opacity:1}.bte-overlay.bte-overlay-out{opacity:0;transition:opacity .2s ease}.bte-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006}.bte-modal{position:relative;z-index:1;width:92vw;max-width:480px;max-height:85vh;background:var(--bg1, #fff);border-radius:12px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;transform:scale(.97);transition:transform .2s ease-out}.bte-overlay.bte-overlay-in .bte-modal{transform:scale(1)}.bte-overlay.bte-overlay-out .bte-modal{transform:scale(.97)}.bte-modal-header{display:flex;align-items:center;gap:12px;padding:24px 24px 16px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0;cursor:grab;-webkit-user-select:none;user-select:none}.bte-modal-name{font-size:22px;font-weight:600;color:var(--text1);flex:1;cursor:pointer;padding:2px 6px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bte-modal-name:hover{background:#00000008}.bte-modal-close{background:none;border:none;font-size:22px;line-height:1;color:var(--text3);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s,color .12s;flex-shrink:0}.bte-modal-close:hover{background:#0000000f;color:var(--text1)}.bte-hdr-toggle{margin-left:auto;flex-shrink:0;cursor:pointer}.bte-modal-content{height:70vh;overflow-y:auto;padding:12px 16px 24px;-webkit-overflow-scrolling:touch}.bte-toggle-switch{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.bte-toggle-switch input{opacity:0;width:0;height:0}.bte-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:var(--bg3, #ddd);transition:background .2s}.bte-toggle-slider:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.bte-toggle-switch input:checked+.bte-toggle-slider{background:var(--accent)}.bte-toggle-switch input:checked+.bte-toggle-slider:after{transform:translate(16px)}.bte-row,.bte-cat-hdr{display:flex;align-items:center;padding:0 12px 0 0;height:32px;box-sizing:border-box;border-bottom:1px solid rgba(0,0,0,.06)}.bte-li-drag-zone,.bte-cat-drag-zone{flex-shrink:0;width:24px;align-self:stretch;cursor:grab}.bte-li-drag-zone:hover,.bte-cat-drag-zone:hover{background:#00000008}.bte-row-code,.bte-cat-label{flex-shrink:0;width:48px;font-size:12px;font-family:JetBrains Mono,SF Mono,Fira Code,Cascadia Code,monospace;color:var(--text3);cursor:pointer;padding:2px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bte-row-code:hover,.bte-cat-label:hover{background:#0000000a}.bte-row-name{flex:1;min-width:0;font-size:14px;font-weight:500;color:var(--text1);cursor:pointer;padding:2px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bte-row-name:hover{background:#0000000a}.bte-x-btn{background:none;border:none;font-size:16px;color:var(--text3);cursor:pointer;opacity:0;transition:opacity .12s;padding:2px 6px;flex-shrink:0;line-height:1;pointer-events:none}.bte-row.bte-hover>.bte-row-x,.bte-cat-hdr.bte-hover>.bte-cat-x{opacity:1;pointer-events:auto}.bte-x-btn:hover{color:var(--red)}.bte-cat-container{display:flex;flex-direction:column}.bte-cat-section{margin-bottom:0}.bte-cat-hdr{background:var(--bg3, rgba(0,0,0,.04));border-top:1px solid rgba(0,0,0,.08);height:36px;font-weight:700}.bte-cat-section:first-child .bte-cat-hdr{border-top:none}.bte-cat-name{flex:1;font-size:14px;font-weight:700;color:var(--text1);cursor:pointer;padding:2px 4px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bte-cat-name:hover{background:#0000000a}.bte-chev-btn{background:none;border:none;cursor:pointer;color:var(--text3);padding:2px;flex-shrink:0;display:flex;align-items:center}.bte-chev-btn:hover{color:var(--text1)}.bte-chev-icon{width:14px;height:14px}.bte-cat-x{flex-shrink:0}.bte-cat-items{min-height:2px}.bte-row-indent,.bte-add-row-indent{padding-left:12px}.bte-add-row{display:flex;align-items:center;height:32px;box-sizing:border-box;padding:0 12px 0 76px;font-size:13px;color:var(--text3);cursor:pointer;border-bottom:1px solid rgba(0,0,0,.03);transition:color .1s}.bte-add-row:hover{color:var(--accent)}.bte-inline-input{font-size:inherit;font-family:inherit;padding:2px 4px;border-radius:4px;border:1px solid var(--accent, #007aff);outline:none;background:var(--bg1);color:var(--text1);width:100%;box-sizing:border-box}.bte-inline-input.bte-mono{font-family:JetBrains Mono,SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px}.bte-ghost{opacity:.3}.bte-dragging{background:var(--bg1, #fff)!important;box-shadow:0 4px 16px #0000001f;border-radius:4px}.messages-empty-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.dash-empty-msg{font-size:15px;font-weight:500;color:var(--text2);margin-bottom:6px}.dash-empty-msg-sub{font-size:13px;color:var(--text3)}.dash-user-avatar{width:34px;height:34px;border-radius:50%;background:var(--bg3);color:var(--text2);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.messages-view{padding:24px 40px 40px;flex:1;overflow-y:auto}.messages-sub-tabs{display:flex;gap:4px;margin-bottom:20px}.msg-sub-tab{padding:6px 14px;font-size:13px;font-weight:500;color:var(--text3);background:none;border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .15s}.msg-sub-tab:hover{color:var(--text1);background:var(--bg3)}.msg-sub-tab.active{color:var(--text1);background:var(--accent-dim);font-weight:600}.lib-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-shrink:0;flex-wrap:wrap}.lib-search-wrap{position:relative;flex:1;min-width:200px;max-width:320px}.lib-search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--text3);pointer-events:none}.lib-search{width:100%;padding:9px 14px 9px 36px;background:var(--bg1);border:1px solid var(--border);border-radius:10px;color:var(--text1);font-size:13px;font-family:inherit;outline:none}.lib-search:focus{border-color:var(--accent)}.lib-search::placeholder{color:var(--text3)}.lib-cat-filter{padding:9px 12px;height:38px;background:var(--bg1);border:1px solid var(--border);border-radius:10px;color:var(--text2);font-size:13px;font-family:inherit;outline:none;cursor:pointer}.lib-stats{font-size:12px;color:var(--text3);margin-left:auto}.lib-stats strong{color:var(--text1);font-weight:600}.lib-table-wrap{flex:1;overflow-y:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg1)}.lib-table-wrap::-webkit-scrollbar{width:5px}.lib-table-wrap::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.lib-table{width:100%;border-collapse:collapse;font-size:12px}.lib-table thead{position:sticky;top:0;z-index:var(--z-thumb-badge)}.lib-table th{padding:10px 14px;text-align:left;font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;background:var(--bg2);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .12s}.lib-table th:hover{color:var(--text1)}.lib-table th.sorted{color:var(--accent-text)}.lib-table th .sort-arrow{font-size:9px;margin-left:4px}.lib-table td{padding:9px 14px;border-bottom:1px solid var(--border);color:var(--text1);vertical-align:middle}.lib-table tr:last-child td{border-bottom:none}.lib-table tr:hover td{background:var(--bg2)}.lib-table .lib-desc{color:var(--text3);font-size:11px;font-style:italic;margin-top:2px}.lib-table .lib-cost{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--green-text);white-space:nowrap}.lib-table .lib-cat-pill{font-size:10px;padding:2px 8px;border-radius:4px;background:var(--bg3);color:var(--text2);white-space:nowrap}.lib-table .lib-unit{color:var(--text3);white-space:nowrap}.lib-table .lib-actions{white-space:nowrap}.lib-table .lib-actions button{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px 6px;border-radius:4px;font-size:12px;transition:all .12s}.lib-table .lib-actions button:hover{background:var(--bg3);color:var(--text1)}.lib-table .lib-actions .del-btn:hover{color:var(--red)}.lib-empty{padding:48px 20px;text-align:center;color:var(--text3);font-size:13px}.bank-cat-group{margin-bottom:16px}.bank-cat-title{font-size:12px;font-weight:600;color:var(--accent-text);padding:8px 0 6px;border-bottom:1px solid var(--border);margin-bottom:4px;display:flex;justify-content:space-between;align-items:center}.bank-cat-title span{font-weight:400;color:var(--text3);font-size:11px}.bank-item{display:flex;align-items:center;gap:10px;padding:8px 4px;border-radius:6px;transition:background .1s;cursor:pointer}.bank-item:hover{background:var(--bg2)}.bank-item input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0}.bank-item-info{flex:1;min-width:0}.bank-item-name{font-size:12px;font-weight:500;color:var(--text1)}.bank-item-desc{font-size:11px;color:var(--text3);font-style:italic}.bank-item-meta{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text3);white-space:nowrap;flex-shrink:0}.bank-item.in-lib{opacity:.5}.bank-item.in-lib .bank-item-name:after{content:" (in library)";font-weight:400;color:var(--green-text);font-size:10px}.sidebar-toggle{flex-shrink:0}.sidebar-toggle.hidden{display:none}.back-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg1);color:var(--accent-text);font-size:12px;font-family:inherit;font-weight:600;cursor:pointer;transition:all .12s;flex-shrink:0}.back-btn:hover{background:var(--accent-dim);color:var(--accent-text)}.back-btn svg{width:14px;height:14px}@media(max-width:768px){.dash-header{padding:0 16px;height:56px}.dash-logo{font-size:15px}.dash-nav{margin-left:16px}.dash-nav-tab{padding:6px 10px;font-size:12px}.dash-toolbar{padding:16px;flex-wrap:wrap;gap:10px}.dash-search-wrap{flex:1 1 100%;max-width:100%;order:1}.dash-search{height:44px;font-size:15px;padding:10px 14px 10px 38px}.dash-filter-select{height:44px;font-size:14px;order:2;flex:1}.dash-count{order:3}.dash-new-btn{order:4;min-height:44px;font-size:14px;padding:10px 16px}.dash-body{padding:0 16px 24px}.dash-grid{grid-template-columns:1fr;gap:12px}.dash-card{padding:16px 18px}.dash-card-name,.dash-card-total{font-size:15px}.dash-tip-bar{padding:10px 16px}.dash-partners{margin-top:28px;padding-top:20px}.partners-grid{grid-template-columns:1fr;gap:10px}.partner-card{padding:14px 16px}}@media(max-width:480px){.dash-header{height:56px}.dash-header-inner{padding:0 16px}.dash-logo{font-size:14px}.dash-nav{margin-left:12px;gap:2px}.dash-nav-tab{padding:5px 8px;font-size:11px}.dash-actions{gap:6px}.ub-name{display:none}.dash-toolbar{padding:12px}.dash-body{padding:0 12px 20px}.dash-new-btn span{display:none}.dash-new-btn{padding:10px 14px}.scale-ind{min-height:36px;padding:4px 8px;font-size:9px}}@media(max-width:768px){.lib-view{padding:16px 16px 24px}.lib-toolbar{flex-wrap:wrap;gap:8px}.lib-search-wrap{flex:1 1 100%;max-width:100%;min-width:0}.lib-search{height:44px;font-size:15px}.lib-cat-filter{height:44px;font-size:14px}.lib-stats{flex:1 1 100%}.lib-toolbar .btn{min-height:44px}.lib-table td,.lib-table th{padding:10px 12px}}.exi-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:var(--z-bte-overlay);opacity:0;transition:opacity .2s ease}.exi-backdrop.visible{opacity:1}.exi-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-bte-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.exi-overlay.visible{opacity:1}.exi-modal{width:480px;background:var(--bg1, #fff);border-radius:14px;box-shadow:0 1px 3px #0000000a,0 8px 32px #00000014;overflow:hidden;display:flex;flex-direction:column}.exi-header{padding:12px 20px;border-bottom:1px solid var(--border1, #f0f0f0);display:flex;align-items:center;justify-content:space-between}.exi-header h3{font-size:13px;font-weight:600;color:var(--text1, #1a1a1a);margin:0}.exi-close-btn{background:none;border:none;font-size:22px;line-height:1;color:var(--text3);cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .12s,color .12s;flex-shrink:0}.exi-close-btn:hover{background:#0000000f;color:var(--text1)}.exi-body{padding:24px;display:flex;gap:24px;align-items:center}.exi-steps{display:flex;flex-direction:column;gap:14px;flex-shrink:0}.exi-step{display:flex;align-items:center;gap:9px;font-size:14px;color:#d1d5db;transition:color .3s ease}.exi-step.active{color:#6b7280}.exi-step.done{color:var(--text1, #1a1a1a)}.exi-cb{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;cursor:default;width:14px;height:14px;flex-shrink:0;border:1.5px solid #D1D5DB;border-radius:3px;background:transparent;position:relative;transition:background .1s,border-color .1s}.exi-step.active .exi-cb{border-color:#9ca3af}.exi-step.done .exi-cb{background:#b8bcc4;border-color:#b8bcc4}.exi-step.done .exi-cb:after{content:"";position:absolute;left:50%;top:45%;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:translate(-50%,-50%) rotate(45deg)}.exi-spin{width:14px;height:14px;flex-shrink:0;border:1.5px solid #e5e7eb;border-top-color:#6b7280;border-radius:50%;animation:exi-spin .7s linear infinite}@keyframes exi-spin{to{transform:rotate(360deg)}}.exi-thumb{flex:1;min-width:0}.exi-sheet{width:100%;border:1px solid var(--border1, #e5e7eb);border-radius:6px;overflow:hidden;background:var(--bg1, #fff);position:relative}.exi-sheet-bar{background:var(--bg2, #f9fafb);border-bottom:1px solid var(--border1, #e5e7eb);padding:4px 8px;display:flex;align-items:center;gap:6px}.exi-sheet-dot{width:10px;height:10px;border-radius:2px;background:#22a559;flex-shrink:0}.exi-sheet-file{font-size:8px;color:var(--text2, #6b7280);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exi-sheet-body{overflow:hidden;position:relative}.exi-sheet-grid{display:grid;grid-template-columns:1fr 48px;font-size:7px;color:var(--text1, #374151);line-height:1.3}.exi-sc{padding:2px 4px;border-bottom:1px solid var(--border2, #f0f0f0);border-right:1px solid var(--border2, #f0f0f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:12px}.exi-sc.cat{font-weight:600;color:var(--text1, #1a1a1a);background:var(--bg2, #fafafa);grid-column:1 / -1}.exi-sc.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text2, #6b7280)}.exi-sheet-fade{position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(to bottom,transparent,var(--bg1, #fff))}.exi-sheet-scan{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(40,116,194,.25),transparent);animation:exi-scan 3s ease-in-out infinite;pointer-events:none}@keyframes exi-scan{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:calc(100% - 2px);opacity:0}}.exi-footer{padding:12px 20px;border-top:1px solid var(--border1, #f0f0f0);display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px}.exi-footer-icon{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.exi-footer-icon svg{width:22px;height:22px}.exi-crosshair{animation:exi-cross-spin 2s linear infinite}@keyframes exi-cross-spin{to{transform:rotate(360deg)}}.exi-footer-text{font-size:14px;color:var(--text2, #6b7280);font-weight:500;transition:opacity .2s ease}.exi-footer-done .exi-footer-text{color:var(--text1, #1a1a1a)}.exi-footer-done .exi-footer-text strong{font-weight:700}.exi-footer-icon.hidden{display:none}.exi-dropzone{padding:48px 32px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;border:2px dashed transparent;margin:16px;border-radius:10px;transition:all .15s ease}.exi-dropzone.dragover{border-color:var(--accent, #9ca3af);background:#00000005}.exi-drop-icon{margin-bottom:8px}.exi-drop-title{font-size:14px;font-weight:500;color:var(--text1, #1a1a1a)}.exi-drop-subtitle{font-size:13px;color:var(--text2, #6b7280)}.exi-drop-formats{font-size:11px;color:var(--text3, #9ca3af);margin-top:4px}.exi-img-thumb{max-width:100%;max-height:200px;object-fit:contain;display:block}.exi-open-btn{background:var(--accent, #1a1a1a);color:#fff;border:none;padding:8px 20px;border-radius:8px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:13px;font-weight:500;cursor:pointer;margin-top:4px;transition:opacity .15s}.exi-open-btn:hover{opacity:.85}@media(max-width:768px){.btn{min-height:44px;min-width:44px;padding:8px 14px;font-size:13px}.theme-toggle{width:44px;height:44px;font-size:16px}.scale-ind{min-height:44px;display:flex;align-items:center;padding:8px 12px;font-size:11px}.page-nav .btn{min-width:44px;min-height:44px}.tab{padding:12px 14px;min-height:44px;font-size:12px}.tab .tab-close{padding:8px;font-size:14px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center}.preset-search{height:44px;font-size:14px}.preset-bar .btn{min-height:44px}.preset-item{padding:12px 16px;min-height:44px;font-size:13px}.est-item .del{padding:10px;font-size:14px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;opacity:1}.tgroup-hdr{padding:14px;min-height:44px}.combo-tog{width:44px}.combo-opt{padding:12px 14px;min-height:44px;font-size:13px}.color-swatch{width:44px;height:44px;border-radius:10px}.cr input.medit{height:44px;padding:8px 10px;font-size:14px}.tpl-comp .tc-check{width:22px;height:22px}.tpl-comp .tc-cost-input{height:44px;padding:8px;font-size:14px;width:90px}.tpl-comp{padding:10px;min-height:44px}.tpl-mode-switch .btn{min-height:44px;padding:10px 14px}.cal-banner .btn{min-height:44px;padding:10px 18px}.ai-panel,.right-col-divider{display:none!important}.dash-card-menu{width:44px;height:44px;border-radius:8px;opacity:1;top:8px;right:8px}.dash-nav-tab{min-height:44px;padding:10px 12px;display:flex;align-items:center}.ps-close{min-width:44px;min-height:44px;padding:10px;font-size:16px;display:flex;align-items:center;justify-content:center}.bank-item{padding:12px 8px;min-height:44px}.bank-item input[type=checkbox]{width:22px;height:22px}.lib-table .lib-actions button{padding:10px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.est-close-btn{min-width:44px!important;min-height:44px!important}}@media(max-width:768px){.layout{height:calc(100vh - 54px);height:calc(100dvh - 54px)}.right-column{position:static;width:auto;min-width:0;max-width:none;border-left:none}.budget-panel{position:absolute;right:0;top:0;bottom:0;width:85%;max-width:400px;min-width:0;z-index:var(--z-modals);transform:translate(100%);transition:transform .25s cubic-bezier(.16,1,.3,1);box-shadow:none;border-left:none}.budget-panel.mobile-open{transform:translate(0);box-shadow:-4px 0 24px #0000001f}.budget-panel.detached{transform:translate(100%)}.budget-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0003;z-index:calc(var(--z-modals) - 1);display:none}.budget-backdrop.visible{display:block}.est-toggle-fab{display:flex!important}.est-close-btn{display:inline-flex!important}.budget-panel-resize{display:none}.tab{padding:10px 14px;font-size:12px}.tab-add{padding:10px 14px;font-size:18px}.preset-search{height:40px;font-size:14px}.preset-bar .btn{min-height:40px}.est-item{padding:14px 16px 14px 28px}.group-hdr{padding:14px 16px}.modal-bg,.modal-bg.transparent{align-items:flex-end}.modal{width:100%;min-width:0;max-height:85vh;border-radius:20px 20px 0 0;resize:none;animation:sheetUp .25s cubic-bezier(.16,1,.3,1)}.modal.draggable{position:relative;left:auto!important;top:auto!important}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal .drag-handle{cursor:default;padding:16px 20px 10px;position:relative}.modal .drag-handle:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--bg4)}.modal-body{padding:0 20px 20px}.mf input,.mf select{height:48px;font-size:15px;padding:12px 14px}.mf textarea{font-size:15px;padding:12px 14px;min-height:44px}.mf label{font-size:14px;margin-bottom:8px}.mf{margin-bottom:18px}.mrow{gap:10px}.mactions{gap:10px;margin-top:20px}.mactions .btn{min-height:48px;font-size:15px;padding:12px 20px}.combo input{height:48px;font-size:15px;padding:12px 34px 12px 14px}.color-swatch{width:36px;height:36px;border-radius:8px}.cal-modal,.tab-modal{border-radius:20px 20px 0 0;width:100%;min-width:0;padding:24px 20px;animation:sheetUp .25s cubic-bezier(.16,1,.3,1)}.cal-modal h3,.tab-modal h3{font-size:18px}.cal-row{flex-direction:column;gap:0}.cal-unit{max-width:100%}.cal-modal .mf input,.cal-modal .mf select,.tab-modal .mf input{height:48px;font-size:16px}.cal-modal .mactions .btn,.tab-modal .mactions .btn{min-height:48px;font-size:15px;flex:1}.cal-modal .mactions,.tab-modal .mactions{gap:10px}.page-sidebar{--sidebar-w: 140px;position:absolute;left:0;top:0;bottom:0;z-index:var(--z-panels-float);width:var(--sidebar-w);min-width:140px;box-shadow:4px 0 16px #0000001a}.page-sidebar.sidebar-collapsed{margin-left:calc(-1 * var(--sidebar-w))}.ai-panel,.right-col-divider{display:none!important}#estFloatBtn{display:none}.cal-banner{max-width:90%;padding:12px 16px;gap:10px}.cal-banner-icon svg{width:22px;height:22px}.cal-banner-text strong{font-size:12px}.cal-banner-text span{font-size:11px}}.toast-container{position:fixed;bottom:20px;right:20px;z-index:var(--z-modal-bg);display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast{pointer-events:auto;padding:12px 16px;border-radius:8px;font-size:13px;font-family:Inter,sans-serif;line-height:1.4;max-width:360px;box-shadow:0 4px 12px #00000026;animation:toast-in .25s ease-out;transition:opacity .2s,transform .2s}.toast.removing{opacity:0;transform:translate(20px)}.toast-error{background:#fef2f2;color:#991b1b;border:1px solid #FECACA}.toast-warning{background:#fffbeb;color:#92400e;border:1px solid #FDE68A}.toast-success{background:#f0fdf4;color:#166534;border:1px solid #BBF7D0}[data-theme=dark] .toast-error{background:#450a0a;color:#fca5a5;border-color:#7f1d1d}[data-theme=dark] .toast-warning{background:#451a03;color:#fcd34d;border-color:#78350f}[data-theme=dark] .toast-success{background:#052e16;color:#86efac;border-color:#166534}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.context-menu{position:fixed;z-index:var(--z-context-menu, 210);min-width:160px;padding:4px 0;background:var(--bg-popover, #ffffff);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:var(--shadow-float, 0 4px 16px rgba(0, 0, 0, .12));font-family:Inter,sans-serif;font-size:13px;line-height:1.4;-webkit-user-select:none;user-select:none;overflow:hidden}[data-theme=dark] .context-menu{border-color:#ffffff14}.context-menu-item{padding:6px 12px;cursor:default;white-space:nowrap;color:var(--text1)}.context-menu-item:hover:not(.disabled):not(.no-hover){background:var(--accent);color:#fff}.context-menu-item.disabled{opacity:.4;pointer-events:none}.context-menu-item.has-children:after{content:"▸";float:right;margin-left:8px;opacity:.5}.context-menu-separator{height:1px;background:#00000014;margin:4px 8px}[data-theme=dark] .context-menu-separator{background:#ffffff14}.tape-pad-panel{position:fixed;right:8px;top:70px;width:240px;max-height:400px;background:var(--bg1);border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;z-index:var(--z-panels-float, 45);overflow:hidden}.tape-pad-panel.hidden{display:none}.tape-pad-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text1)}.tape-pad-btn{background:none;border:none;color:var(--text3);cursor:pointer;font-size:11px;padding:2px 6px;border-radius:4px}.tape-pad-btn:hover{background:var(--bg3);color:var(--text1)}.tape-pad-list{flex:1;overflow-y:auto;padding:4px 0}.tape-pad-list::-webkit-scrollbar{width:5px}.tape-pad-list::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.tape-pad-empty{text-align:center;padding:24px 12px;font-size:12px;color:var(--text3)}.tape-pad-empty span{font-size:10px;color:var(--text3)}.tape-pad-row{display:flex;align-items:center;gap:6px;padding:4px 12px}.tape-pad-row:hover{background:var(--bg3)}.tape-pad-dim{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#374151;min-width:55px;flex-shrink:0}[data-theme=dark] .tape-pad-dim{color:#9ca3af}.tape-pad-label{flex:1;background:none;border:none;border-bottom:1px solid transparent;font-size:11px;color:var(--text2);padding:2px 0;outline:none;min-width:0}.tape-pad-label:focus{border-bottom-color:var(--accent)}.tape-pad-label::placeholder{color:var(--text3);font-size:10px}.tape-pad-del{opacity:0;background:none;border:none;color:var(--red);cursor:pointer;font-size:14px;padding:2px 4px;border-radius:4px}.tape-pad-row:hover .tape-pad-del{opacity:1}.tape-pad-del:hover{background:var(--red-dim)}.sp-loading{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text2);font-size:14px;font-family:Inter,-apple-system,sans-serif}.sp-page{display:flex;flex-direction:column;height:100%;font-family:Inter,-apple-system,sans-serif}.sp-header{padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg1);display:flex;align-items:center;gap:6px}.sp-back-link{font-size:15px;font-weight:500;color:var(--text3);text-decoration:none;cursor:pointer;transition:color .12s}.sp-back-link:hover{color:var(--accent)}.sp-back-sep{font-size:14px;color:var(--text3);margin:0 2px}.sp-back-title{font-size:15px;font-weight:600;color:var(--text1)}.sp-project-back,.cp-project-back{display:inline-flex;align-items:center;gap:6px}.sp-project-back-btn,.cp-project-back-btn{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--text3);text-decoration:none;cursor:pointer;transition:color .12s}.sp-project-back-btn:hover,.cp-project-back-btn:hover{color:var(--accent)}.sp-project-back-btn svg,.cp-project-back-btn svg{flex-shrink:0;width:16px;height:16px}.sp-project-back-divider,.cp-project-back-divider{font-size:14px;color:var(--text3);margin:0 4px;opacity:.5}.sp-body{display:flex;flex:1;overflow:hidden}.sp-nav{width:180px;flex-shrink:0;padding:12px 8px;border-right:1px solid var(--border);background:var(--bg1);display:flex;flex-direction:column;gap:2px}.sp-nav-item{display:block;width:100%;text-align:left;padding:8px 12px;font-size:13px;font-weight:400;font-family:inherit;color:var(--text2);background:none;border:none;border-radius:6px;cursor:pointer;transition:all .12s}.sp-nav-item:hover{color:var(--text1);background:rgba(var(--bg2),.5);background:var(--bg2);opacity:.7}.sp-nav-active{color:var(--text1);font-weight:600;background:var(--bg2);opacity:1}.sp-nav-active:hover{opacity:1}.sp-content{flex:1;overflow-y:auto;padding:24px 32px;max-width:1040px}.sp-card{background:var(--bg1, #fff);border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:24px;box-sizing:border-box;box-shadow:0 1px 4px #0000000a;margin-bottom:24px}[data-theme=dark] .sp-card{border-color:#ffffff0f;box-shadow:0 1px 4px #0003}.sp-card-title{font-size:14px;font-weight:600;color:var(--text1);margin-bottom:12px}.sp-card-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sp-card-title-row .sp-card-title{margin-bottom:0}.sp-card-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;margin-bottom:24px}.sp-card-row>.sp-card{margin-bottom:0}.sp-card-stack{display:flex;flex-direction:column;gap:24px}.sp-card-stack .sp-card{margin-bottom:0}.sp-card-stack .sp-card:last-child{flex:1}.sp-field{margin-bottom:14px}.sp-field:last-child{margin-bottom:0}.sp-label{display:block;font-size:12px;font-weight:500;color:var(--text2);margin-bottom:4px}.sp-input{display:block;width:100%;margin-top:4px;padding:8px 10px;font-size:14px;font-family:inherit;color:var(--text1);background:var(--bg1);border:1.5px solid var(--border-strong);border-radius:8px;outline:none;box-sizing:border-box;transition:border-color .15s}.sp-input:focus{border-color:var(--accent)}.sp-input::placeholder{color:var(--text3)}.sp-input-num{font-variant-numeric:tabular-nums}.sp-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px}.sp-readonly{font-size:14px;color:var(--text3);padding:8px 10px;background:var(--bg2);border:1.5px solid transparent;border-radius:8px}.sp-defaults-row1{display:flex;gap:24px;align-items:flex-end;margin-bottom:14px}.sp-defaults-template{flex:0 1 65%;min-width:0}.sp-defaults-toggle-row{display:flex;align-items:center;gap:10px;padding-bottom:6px}.sp-defaults-toggle-row .sp-label{margin-bottom:0}.sp-row-disabled{opacity:.4;pointer-events:none}.sp-defaults-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.sp-defaults-col{min-width:0}.sp-logo-upload{width:100px;height:100px;border:2px dashed var(--border-strong);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s}.sp-logo-upload:hover{border-color:var(--accent)}.sp-logo-placeholder{font-size:12px;color:var(--text2);text-align:center}.sp-logo-preview{width:100px;height:100px;position:relative;border:1px solid var(--border);border-radius:8px;overflow:hidden}.sp-logo-img{width:100%;height:100%;object-fit:contain}.sp-logo-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:opacity .15s}.sp-logo-preview:hover .sp-logo-overlay{opacity:1}.sp-logo-action{font-size:12px;font-family:inherit;color:#fff;background:none;border:1px solid rgba(255,255,255,.4);border-radius:4px;padding:4px 12px;cursor:pointer}.sp-logo-action:hover{background:#ffffff26}.sp-logo-remove:hover{border-color:var(--red);color:var(--red)}.sp-toggle{width:36px;height:20px;border-radius:10px;background:var(--bg4);border:none;cursor:pointer;position:relative;transition:background .2s;padding:0;flex-shrink:0}.sp-toggle-knob{display:block;width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 2px #0003}.sp-toggle-on{background:var(--accent)}.sp-toggle-on .sp-toggle-knob{transform:translate(16px)}.sp-wp-section{margin-bottom:12px}.sp-wp-section:last-child{margin-bottom:0}.sp-wp-section .sp-label{margin-bottom:6px}.sp-wp-chips{display:flex;flex-wrap:wrap;gap:6px}.sp-wp-chip{font-size:12px;font-family:inherit;font-weight:400;padding:4px 12px;border-radius:14px;background:#0000000f;color:var(--text1);border:1px solid rgba(0,0,0,.08);display:inline-block}[data-theme=dark] .sp-wp-chip{background:#ffffff1a;border-color:#ffffff1f}.sp-trade-edit{font-size:12px;font-family:inherit;font-weight:500;background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:4px 12px;cursor:pointer;color:var(--text1);transition:all .15s}.sp-trade-edit:hover{border-color:var(--accent)}.sp-trade-setup-btn{font-size:13px;font-family:inherit;font-weight:500;color:var(--accent);background:none;border:1px dashed var(--border-strong);border-radius:8px;padding:10px 16px;cursor:pointer;transition:all .15s;display:block;width:100%;text-align:center}.sp-trade-setup-btn:hover{border-color:var(--accent);background:var(--accent-dim)}.sp-plan-badge{margin-bottom:8px}.sp-plan-pill{display:inline-block;padding:3px 10px;border-radius:10px;font-size:12px;font-weight:600;color:#fff;background:var(--accent)}.sp-plan-desc{font-size:13px;color:var(--text2)}.sp-storage-bar-track{width:100%;height:8px;border-radius:4px;background:var(--bg3);overflow:hidden;margin-bottom:6px}.sp-storage-bar-fill{height:100%;border-radius:4px;transition:width .3s}.sp-storage-text{font-size:12px;color:var(--text2)}.sp-btn-manage{padding:8px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;opacity:.5}.sp-btn-manage:disabled{cursor:not-allowed}.sp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-bg, 200);display:flex;align-items:center;justify-content:center;background:var(--modal-overlay, rgba(0,0,0,.25));animation:spModalIn .15s ease}@keyframes spModalIn{0%{opacity:0}}.sp-modal-card{width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;background:var(--bg1);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-modal);font-family:Inter,-apple-system,sans-serif;animation:spModalSlide .2s cubic-bezier(.16,1,.3,1)}@keyframes spModalSlide{0%{opacity:0;transform:translateY(12px) scale(.97)}}.sp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.sp-modal-title{font-size:16px;font-weight:600;color:var(--text1)}.sp-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:6px;color:var(--text3);cursor:pointer;transition:all .15s}.sp-modal-close:hover{background:var(--bg2);color:var(--text1)}.sp-modal-body{padding:20px;overflow-y:auto;flex:1}.sp-modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--border)}.sp-modal-btn-cancel{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg2);color:var(--text1);font-size:13px;font-family:inherit;cursor:pointer}.sp-modal-btn-save{padding:8px 20px;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer}.sp-modal-btn-save:hover{opacity:.9}.sp-chip-section{margin-bottom:24px}.sp-chip-section:last-child{margin-bottom:0}.sp-chip-label{font-size:13px;font-weight:600;color:var(--text1);margin-bottom:10px}.sp-chip-sublabel{font-weight:400;color:var(--text2)}.sp-chip-grid{display:flex;flex-wrap:wrap;gap:8px}.sp-chip{font-size:13px;font-family:inherit;font-weight:400;padding:6px 14px;border-radius:16px;background:var(--bg2);color:var(--text1);border:1px solid var(--border);cursor:pointer;transition:all .12s;white-space:nowrap}.sp-chip:hover{border-color:var(--accent)}.sp-chip-sel{background:#0000000f;color:var(--text1);border-color:var(--accent);font-weight:500}.sp-chip-sel:hover{background:#0000001a}[data-theme=dark] .sp-chip-sel{background:#ffffff1a;border-color:var(--accent)}.sp-chip-dim{opacity:.4;cursor:default;pointer-events:none}.sp-chip-counter{font-size:11px;color:var(--text2);margin-top:8px}.sp-chip-hint{font-size:13px;color:var(--text3);padding:12px 0 0}@media(max-width:700px){.sp-card-row{grid-template-columns:1fr}.sp-defaults-row1{flex-direction:column;gap:14px}.sp-defaults-template{flex:none}.sp-defaults-grid{grid-template-columns:1fr}}@media(max-width:640px){.sp-nav{width:120px}.sp-content{padding:16px}.sp-modal-card{max-width:calc(100vw - 32px)}}.fb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-bte-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease}.fb-overlay.fb-overlay-in{opacity:1}.fb-overlay.fb-overlay-out{opacity:0;transition:opacity .2s ease}.fb-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay)}.fb-modal{position:relative;z-index:1;width:min(92vw,1100px);height:min(82vh,720px);max-width:95vw;max-height:92vh;background:var(--bg1);border-radius:12px;box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden;transform:scale(.97);transition:transform .2s ease-out}.fb-overlay.fb-overlay-in .fb-modal{transform:scale(1)}.fb-overlay.fb-overlay-out .fb-modal{transform:scale(.97)}.fb-header{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.fb-title{font-size:16px;font-weight:600;color:var(--text1);flex:1}.fb-close{background:none;border:none;font-size:26px;line-height:1;color:var(--text2);cursor:pointer;padding:4px 10px;border-radius:6px;transition:background .12s,color .12s;flex-shrink:0}.fb-close:hover{background:#0000000f;color:var(--text1)}[data-theme=dark] .fb-close:hover{background:#ffffff14}.fb-upload-btn{padding:4px 12px;border-radius:10px;border:.5px solid var(--pill-border);background:var(--pill-bg);color:var(--text2);box-shadow:var(--pill-shadow);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .12s;white-space:nowrap}.fb-upload-btn:hover{background:var(--pill-hover);color:var(--text1)}.fb-upload-btn:disabled{opacity:.5;cursor:default}.fb-list{flex:1;min-height:0;overflow-y:auto;padding:8px 0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.fb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;padding:40px 24px;text-align:center;color:#9ca3af;font-size:14px;gap:8px}.fb-file-row{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;cursor:pointer;transition:background .08s;-webkit-user-select:none;user-select:none}.fb-file-row.fb-row-quote-accepted{border-left:3px solid #16a34a;padding-left:9px}.fb-file-row.fb-row-quote-pending{border-left:3px solid #f59e0b;padding-left:9px}.fb-section-header{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em;padding:14px 16px 6px;display:flex;align-items:center;gap:8px}.fb-section-header:first-child{padding-top:8px}.fb-section-count{font-weight:400;font-variant-numeric:tabular-nums;color:var(--text3)}.fb-quote-pill{font-size:12px;font-weight:500;padding:6px 10px;border-radius:6px;margin:0 0 8px;display:inline-block}.fb-quote-pill-accepted{background:#16a34a1a;color:#15803d;border-left:3px solid #16a34a}.fb-quote-pill-pending{background:#f59e0b1a;color:#b45309;border-left:3px solid #f59e0b}.fb-file-row:hover{background:#00000008}[data-theme=dark] .fb-file-row:hover{background:#ffffff0a}.fb-file-row.fb-row-selected,.fb-file-row.fb-row-selected:hover{background:var(--ss-accent-soft)}.fb-file-icon{flex-shrink:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text2)}.fb-file-icon svg{display:block}.fb-file-name{flex:1;min-width:0;font-size:13px;font-weight:400;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:.55;transition:opacity .12s}.fb-file-row:hover .fb-row-actions,.fb-row-selected .fb-row-actions{opacity:1}.fb-action-btn{width:24px;height:24px;border-radius:5px;border:none;background:none;color:var(--text2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.fb-action-btn:hover{background:#00000014;color:var(--text1)}[data-theme=dark] .fb-action-btn:hover{background:#ffffff14}.fb-delete-btn:hover{color:var(--red)}.fb-list{flex:1;min-height:0;overflow-y:auto;padding:4px 0;overscroll-behavior:contain}.fb-list::-webkit-scrollbar{width:6px}.fb-list::-webkit-scrollbar-track{background:transparent}.fb-list::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.fb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 16px;color:var(--text3);text-align:center;font-size:13px}.fb-empty-sub{font-size:12px}.fb-search-bar{display:flex;align-items:center;gap:6px;margin:8px 14px 6px;padding:0 10px;background:#0000000d;border-radius:999px;flex-shrink:0;transition:background .12s,box-shadow .12s}[data-theme=dark] .fb-search-bar{background:#ffffff12}.fb-search-bar:focus-within{background:#0000000f;box-shadow:0 0 0 2px var(--ss-accent-softer)}[data-theme=dark] .fb-search-bar:focus-within{background:#ffffff1a}.fb-search-icon{color:var(--text3);flex-shrink:0}.fb-search-input{flex:1;border:none;outline:none;background:transparent;font-size:13px;font-family:inherit;color:var(--text1);padding:6px 0;min-width:0}.fb-search-input::placeholder{color:var(--text3)}.fb-search-clear{background:none;border:none;color:var(--text3);font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.fb-search-clear:hover{color:var(--text1)}.fb-prev-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--text3)}.fb-prev-empty-text{font-size:13px}.fb-prev-header{flex-shrink:0;padding:14px 16px 12px;border-bottom:1px solid var(--border);background:var(--bg1)}[data-theme=dark] .fb-prev-header{background:#1f1f22}.fb-prev-filename{font-size:15px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.fb-prev-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--text2)}.fb-prev-meta-sep{color:var(--text3)}.fb-prev-assign-row{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;flex-wrap:nowrap}.fb-prev-assign-label{color:var(--text2);font-weight:500;flex-shrink:0}.fb-prev-assign{border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:12px;font-family:inherit;background:var(--bg1);color:var(--text1);max-width:200px;cursor:pointer}.fb-prev-assign:focus{outline:none;box-shadow:0 0 0 2px var(--ss-accent-softer);border-color:var(--ss-accent)}.fb-prev-body{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:14px;position:relative;overscroll-behavior:contain}.fb-prev-loading{color:var(--text3);font-size:12px}.fb-prev-img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:4px;box-shadow:0 1px 4px #0000001a}.fb-prev-pdf-wrap{width:100%;display:flex;justify-content:center}.fb-prev-pdf-canvas{background:#fff;box-shadow:0 1px 6px #0000001f;border-radius:2px;max-width:100%}.fb-prev-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;text-align:center;color:var(--text3)}.fb-prev-ph-name{font-size:13px;font-weight:500;color:var(--text2);word-break:break-word;max-width:240px}.fb-prev-ph-meta{font-size:11px;color:var(--text3)}.fb-prev-ph-hint{font-size:12px;color:var(--text3);margin-top:6px}.fb-prev-body .dv-root{width:100%;height:100%;background:transparent;border:0;border-radius:0;overflow:hidden}.fb-prev-body .dv-toolbar{display:none}.fb-prev-body .dv-scroll{width:100%;height:100%;background:transparent;padding:8px;align-items:center;justify-content:center}.fb-prev-body .dv-stage{min-width:100%;text-align:center}.fb-prev-body .dv-canvas{background:#fff;box-shadow:0 1px 6px #0000001f;border-radius:2px;max-width:100%}.fb-prev-body .dv-img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:4px;box-shadow:0 1px 4px #0000001a;background:transparent}.fb-prev-body .dv-empty{color:var(--text3);font-size:12px;padding:24px;text-align:center}.fb-storage-pill{font-size:12px;font-weight:400;color:#6b7280;font-variant-numeric:tabular-nums;background:#0000000a;border-radius:6px;padding:3px 8px;white-space:nowrap;flex-shrink:0}[data-theme=dark] .fb-storage-pill{background:#ffffff0f;color:#9ca3af}.fb-storage-amber{color:#d97706}[data-theme=dark] .fb-storage-amber{color:#f59e0b}.fb-storage-red{color:#dc2626}[data-theme=dark] .fb-storage-red{color:#f87171}.fb-note-btn{width:24px;height:24px;border-radius:4px;border:none;background:none;color:var(--text3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:0;transition:opacity .1s,color .1s}.fb-note-btn.has-note{opacity:.6;color:var(--text2)}.fb-file-row:hover .fb-note-btn{opacity:1}.fb-note-btn:hover{color:var(--accent)}.fb-note-editor{padding:4px 12px 8px 40px;border-bottom:1px solid var(--border)}.fb-note-textarea{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg2);color:var(--text1);font-size:12px;font-family:inherit;padding:6px 8px;resize:none;outline:none}.fb-note-textarea:focus{border-color:var(--border-focus)}.fb-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:none;align-items:center;justify-content:center;background:#3b82f614;border:2px dashed rgba(59,130,246,.5);border-radius:12px;font-size:14px;font-weight:600;color:#3b82f6cc;pointer-events:none}.fb-drop-overlay.fb-drop-active{display:flex}.fb-file-row{cursor:pointer}.fb-file-name{cursor:default}.fb-rename-input{width:calc(100% + 8px);font-size:13px;font-weight:400;font-family:inherit;color:var(--text1);line-height:inherit;background:var(--bg1);border:1px solid var(--ss-accent);border-radius:3px;outline:none;padding:1px 4px;margin:-2px -4px;box-shadow:0 0 0 2px var(--ss-accent-softer)}[data-theme=dark] .fb-rename-input{background:var(--bg2)}.fb-row-renaming,.fb-row-renaming:hover{background:transparent!important}.fb-ctx-sep{height:1px;background:var(--border);margin:4px 0}.fb-body{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden}.fb-sidebar-wrap{flex-shrink:0;width:var(--fb-sidebar-w, 220px);min-width:160px;max-width:360px;background:#fafafa;overflow-y:auto;overscroll-behavior:contain}[data-theme=dark] .fb-sidebar-wrap{background:#1f1f22}.fb-list-pane{flex:1;min-width:260px;display:flex;flex-direction:column;background:var(--bg1);overflow:hidden}.fb-preview-pane{flex-shrink:0;width:var(--fb-preview-w, 340px);min-width:250px;max-width:60%;background:#f5f5f7;display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .fb-preview-pane{background:#18181b}.fb-divider{width:6px;cursor:col-resize;flex-shrink:0;background:transparent;position:relative}.fb-divider:after{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:1px;background:#0000001f;transition:background .12s,width .12s;pointer-events:none}[data-theme=dark] .fb-divider:after{background:#ffffff1f}.fb-divider:hover:after,.fb-divider:active:after{background:#0000004d;width:3px}[data-theme=dark] .fb-divider:hover:after,[data-theme=dark] .fb-divider:active:after{background:#ffffff52;width:3px}.fb-sidebar{padding:8px 8px 14px}.fb-sb-all{font-weight:500}.fb-sb-section-label{padding:14px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text2);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none}.fb-sb-section-toggle{cursor:pointer}.fb-sb-section-chev{opacity:0;transition:opacity .15s,transform .15s ease;color:var(--text2);flex-shrink:0;margin-left:6px}.fb-sb-section-toggle:hover .fb-sb-section-chev{opacity:1}.fb-sb-section-collapsed .fb-sb-section-chev{transform:rotate(-90deg)}.fb-sb-byli-subhead{padding:10px 12px 3px;font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text3)}.fb-sb-co-name{padding:4px 12px 2px 18px;font-size:11px;font-weight:500;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-sb-empty{padding:4px 12px 8px 16px;font-size:11px;font-style:italic;color:var(--text3)}.fb-sb-item{display:flex;align-items:center;gap:8px;margin:1px 6px;padding:6px 36px 6px 10px;border-radius:6px;font-size:13px;color:var(--text1);cursor:pointer;transition:background .1s,color .1s;-webkit-user-select:none;user-select:none;position:relative}.fb-sb-item:hover{background:#0000000a}[data-theme=dark] .fb-sb-item:hover{background:#ffffff0d}.fb-sb-item.active{background:var(--ss-accent-soft);color:var(--ss-accent);font-weight:500}.fb-sb-icon{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2)}.fb-sb-item.active .fb-sb-icon{color:var(--ss-accent)}.fb-sb-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-sb-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text2);font-variant-numeric:tabular-nums;font-weight:500}.fb-sb-item.active .fb-sb-count{color:var(--ss-accent)}.fb-sb-line{padding-left:18px}.fb-sb-drop-hover{background:var(--ss-accent-soft)!important;color:var(--ss-accent)!important;outline:1px dashed var(--ss-accent);outline-offset:-3px}.fb-content-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.fb-breadcrumb-wrap{flex:1;min-width:0}.fb-breadcrumb{font-size:14px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-row-dragging{opacity:.5}@keyframes fb-row-flash{0%{background:var(--ss-accent-soft)}to{background:transparent}}.fb-row-flash{animation:fb-row-flash .7s ease-out}.fb-ctx-menu{position:fixed;z-index:260;min-width:180px;padding:4px 0;background:var(--bg1);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #00000029}[data-theme=dark] .fb-ctx-menu{background:var(--bg2);box-shadow:0 6px 24px #00000080}.fb-ctx-header{padding:6px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);border-bottom:1px solid var(--border)}.fb-ctx-item{padding:7px 12px;font-size:13px;color:var(--text1);cursor:pointer;white-space:nowrap}.fb-ctx-item:hover{background:#0000000f}[data-theme=dark] .fb-ctx-item:hover{background:#ffffff14}@media(max-width:700px){.fb-modal{max-width:calc(100vw - 16px);height:92vh}.fb-sidebar-wrap{width:160px}.fb-preview-pane,.fb-divider[data-fb-divider=preview]{display:none}}.fb-viewer-panel{position:fixed;z-index:230;background:var(--bg1);border-radius:10px;border:1px solid var(--border);box-shadow:0 8px 32px #0000002e,0 2px 8px #00000014;display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .fb-viewer-panel{box-shadow:0 8px 32px #00000080,0 2px 8px #0000004d}.fb-viewer-header{height:32px;flex-shrink:0;border-bottom:1px solid var(--border);padding:0 16px;display:flex;align-items:center;gap:0;background:var(--bg2)}.fb-viewer-filename{font-size:13px;font-weight:500;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fb-viewer-zoom-controls{display:flex;align-items:center;gap:2px;font-size:13px;color:var(--text2)}.fb-viewer-actions{display:flex;align-items:center;gap:4px;margin-left:14px}.fb-viewer-header .fb-viewer-close{margin-left:18px}.fb-viewer-zoom-pct{min-width:36px;text-align:center;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.fb-viewer-zoom-btn{width:24px;height:24px;border-radius:4px;border:none;background:none;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.fb-viewer-zoom-btn:hover{background:var(--bg3)}.fb-viewer-icon-btn{width:24px;height:24px;border-radius:4px;border:none;background:none;color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s;flex-shrink:0}.fb-viewer-icon-btn:hover{background:var(--bg3);color:var(--text1)}.fb-viewer-close{width:auto;height:auto;font-size:26px;line-height:1;padding:4px 10px;color:var(--text2)}.fb-viewer-body{flex:1;min-height:0;overflow:hidden;position:relative;display:flex;flex-direction:column;background:var(--bg0)}.fb-viewer-scroll{overflow:auto;width:100%;height:100%;padding:8px;overscroll-behavior:contain}.fb-viewer-scroll canvas{display:block;margin:0 auto;background:#fff;box-shadow:0 1px 6px #0000001a}.fb-viewer-loading{color:var(--text3);font-size:13px;font-weight:500}.fb-viewer-img{max-width:100%;max-height:100%;object-fit:contain;display:block}.fb-viewer-page-nav{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#0009;color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:8px;white-space:nowrap}.fb-viewer-page-btn{background:none;border:none;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:4px;transition:color .1s}.fb-viewer-page-btn:hover{color:#fff}.fb-viewer-download-msg{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text2);font-size:13px;padding:24px;text-align:center}.bv-close-btn{background:none;border:none;font-size:22px;color:var(--text3);cursor:pointer;line-height:1;padding:0 4px;border-radius:4px;transition:color .15s}.bv-close-btn:hover{color:var(--text1)}.bv-version-list{display:flex;flex-direction:column}.bv-version-row{padding:10px 16px;border-bottom:1px solid var(--border);transition:background .1s}.bv-version-row:hover{background:#00000008}.bv-version-row.bv-auto-save{opacity:.5}.bv-row-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bv-compare-check{width:16px;height:16px;flex-shrink:0;margin-top:2px;cursor:pointer;accent-color:var(--accent, #2563EB)}.bv-compare-bar{display:flex;justify-content:center;padding:12px 16px;border-top:1px solid var(--border)}.bv-row-left{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.bv-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.bv-row-name{font-size:13px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bv-auto-tag{font-weight:400;color:var(--text3);font-size:12px}.bv-row-date{font-size:12px;color:#9ca3af}.bv-row-note{font-size:12px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.bv-row-amount{font-size:13px;color:var(--text1);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.bv-row-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.bv-version-row:hover .bv-row-actions{opacity:1}.bv-icon-btn{background:none;border:none;padding:4px;border-radius:4px;color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.bv-icon-btn:hover{background:var(--bg2);color:var(--text1)}.bv-header-back{cursor:pointer;font-size:18px;font-weight:400;color:#9ca3af;margin-right:10px;transition:color .15s;line-height:1}.bv-header-back:hover{color:var(--text1)}.bv-header-title{display:inline-flex;align-items:baseline;gap:6px}.bv-header-vname{font-weight:700;font-size:16px;letter-spacing:-.3px}.bv-header-vs{font-weight:400;font-size:12px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.bv-compare-table{width:100%;border-collapse:collapse;font-size:12px}.bv-compare-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;padding:6px 12px;border-bottom:1px solid #E5E7EB;font-weight:500}.bv-col-item{width:40%}.bv-col-amount,.bv-col-change{width:20%;text-align:right!important}.bv-compare-table td{padding:8px 12px;border-bottom:1px solid #F3F4F6;font-variant-numeric:tabular-nums}.bv-compare-table td:nth-child(2),.bv-compare-table td:nth-child(3),.bv-compare-table td:nth-child(4){text-align:right}.bv-compare-table tfoot td{font-weight:600;border-top:2px solid #E5E7EB;padding:10px 12px}.bv-row-changed{background:#d689100f}.bv-row-added{background:#27874a0f}.bv-row-removed{background:#c0392b0f}.bv-row-unchanged{display:none}.bv-row-unchanged.bv-show-unchanged{display:table-row}.bv-removed-name{text-decoration:line-through;color:#9ca3af}.bv-change-positive{color:#27874a}.bv-change-negative{color:#c0392b}.bv-change-neutral{color:#9ca3af}.bv-category-header td{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;padding:10px 12px 4px;border-bottom:none;font-weight:600}.bv-toggle-unchanged{font-size:12px;color:#9ca3af;cursor:pointer;text-align:center;padding:8px 0}.bv-toggle-unchanged:hover{color:var(--text2)}.contact-body{flex:1;overflow-y:auto;background:var(--bg1);font-family:Inter,-apple-system,sans-serif}.contact-grid{max-width:960px;margin:0 auto;padding:0 32px 32px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}@media(max-width:720px){.contact-grid{grid-template-columns:1fr;padding:0 20px 20px;gap:20px}}.contact-form-card,.contact-info-card{background:var(--bg1, #fff);border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:24px;box-sizing:border-box;box-shadow:0 1px 4px #0000000a}[data-theme=dark] .contact-form-card,[data-theme=dark] .contact-info-card{border-color:#ffffff0f;box-shadow:0 1px 4px #0003}.contact-info-card{min-width:280px;align-self:flex-start}.contact-header{max-width:960px;margin:0 auto 32px;padding:32px 32px 0}.contact-title{font-size:28px;font-weight:600;color:var(--text1);margin:0 0 8px;letter-spacing:-.01em}.contact-subtitle{font-size:15px;color:var(--text2);margin:0;max-width:600px;line-height:1.5}@media(max-width:720px){.contact-header{padding:20px 20px 0}.contact-title{font-size:24px}.contact-subtitle{font-size:14px}}.contact-field-hint{font-size:12px;color:var(--text2);margin:8px 0 0;line-height:1.5}.contact-form{display:flex;flex-direction:column}.contact-field{margin-bottom:16px}.contact-field:last-of-type{margin-bottom:16px}.contact-field-label{display:block;font-size:10px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.contact-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.4}.contact-input-error,.contact-input-error:focus{border-color:var(--red, #DC2626)!important}.contact-error{color:var(--red, #DC2626);font-size:12px;margin-top:4px;font-weight:500}.contact-submit-error{font-size:13px;margin-top:12px}.contact-submit-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:8px}.contact-privacy-note{font-size:11px;color:var(--text2);margin:0;line-height:1.4}.contact-submit{min-width:160px;padding:10px 20px;font-size:14px;font-weight:600;font-family:inherit;color:var(--bg1);background:var(--text1);border:none;border-radius:8px;cursor:pointer;transition:opacity .15s,filter .15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.contact-submit:hover:not(:disabled){filter:brightness(1.1)}.contact-submit:disabled{cursor:default;opacity:.8}.contact-submit-loading{cursor:default}@media(max-width:720px){.contact-submit-row{flex-direction:column;align-items:stretch;gap:8px}.contact-submit{width:100%}}.contact-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;opacity:.35;border-top-color:currentColor;border-right-color:transparent;border-radius:50%;animation:contact-spin .7s linear infinite}.contact-submit-loading .contact-spinner{opacity:1}@keyframes contact-spin{to{transform:rotate(360deg)}}.contact-honeypot{position:absolute;left:-9999px;top:auto;opacity:0;pointer-events:none;height:0;width:0;overflow:hidden}.contact-info-section{margin-bottom:16px}.contact-info-section:last-child{margin-bottom:0}.contact-info-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text2);margin-bottom:4px}.contact-info-value{font-size:14px;color:var(--text1);font-weight:400}.contact-info-link{font-size:14px;color:var(--text1);text-decoration:none}.contact-info-link:hover{text-decoration:underline}.contact-info-accent{font-size:14px;color:var(--accent);text-decoration:none;font-weight:500}.contact-info-accent:hover{text-decoration:underline}.contact-social-row{display:flex;gap:16px;align-items:center;margin-top:4px}.contact-social-link{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--text2);transition:color .15s}.contact-social-link:hover{color:var(--text1)}.contact-social-link svg{width:24px;height:24px}.contact-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.contact-success-check{color:#10b981;margin-bottom:20px}.contact-success-heading{font-size:22px;font-weight:600;color:var(--text1);margin-bottom:8px}.contact-success-body{font-size:14px;color:var(--text2);margin-bottom:24px;max-width:320px;line-height:1.5}.contact-success-link{font-size:14px;color:var(--accent);text-decoration:none;font-weight:500}.contact-success-link:hover{text-decoration:underline}.qv-overlay .modal{width:min(1180px,96vw);height:min(760px,88vh);min-width:900px;min-height:600px;max-width:96vw;max-height:96vh;resize:both}.qv-overlay .modal .drag-handle,.qv-overlay .modal .drag-handle:active{cursor:default}.qv-overlay .modal-body{padding:0;display:flex;flex-direction:row;gap:0;flex:1;min-height:0}.qv-overlay .qv-viewer{flex:0 0 60%;min-width:0;padding:12px 0 16px 16px;display:flex}.qv-overlay .qv-right{flex:1 1 40%;min-width:0;padding:0 24px 20px;display:flex;flex-direction:column;overflow-y:auto;border-left:1px solid var(--border);margin-left:16px}@media(max-width:900px){.qv-overlay .modal{min-width:unset;width:96vw}.qv-overlay .qv-viewer{display:none}.qv-overlay .qv-right{flex:1 1 100%;border-left:none;margin-left:0;padding:0 24px 20px}}.qv-overlay .qv-close-btn{background:none;border:none;cursor:pointer;font-size:24px;line-height:1;padding:0 4px;color:var(--text2)}.qv-overlay .qv-close-btn:hover{color:var(--text1)}.qv-overlay .qv-subtitle{font-size:12px;color:var(--text2);margin:12px 0 14px;word-break:break-all}.qv-overlay .qv-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 0;color:var(--text2)}.qv-overlay .qv-spinner{width:28px;height:28px;border:3px solid var(--bg3);border-top-color:var(--accent);border-radius:50%;animation:qv-spin .8s linear infinite}@keyframes qv-spin{to{transform:rotate(360deg)}}.qv-overlay .qv-row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.qv-overlay .qv-row-2 .mf{margin-bottom:16px}.qv-overlay .qv-confidence{font-size:11px;color:var(--text2);margin-right:auto;align-self:center}.qv-overlay .qv-notes{padding:8px 10px;border:1px solid var(--border-strong);border-radius:4px;font-size:13px;font-family:inherit;background:var(--bg2);color:var(--text1);resize:vertical}.qv-overlay .qv-ai-status{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:var(--accent-dim);border-radius:6px;font-size:13px;color:var(--text2)}.qv-overlay .qv-ai-spinner{width:14px;height:14px;border:2px solid var(--text2);border-top-color:transparent;border-radius:50%;animation:qv-spin .7s linear infinite;display:inline-block;flex-shrink:0}.qv-overlay .qv-ai-status-text{flex:1}.qv-overlay .qv-ai-skip{color:var(--accent);text-decoration:none;font-size:12px}.qv-overlay .qv-ai-skip:hover{text-decoration:underline}.dv-root{display:flex;flex-direction:column;width:100%;height:100%;background:var(--bg2);border-radius:8px;overflow:hidden;border:1px solid var(--border)}.dv-toolbar{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:36px;padding:0 8px;background:var(--bg1);border-bottom:1px solid var(--border);gap:8px}.dv-page-nav,.dv-zoom{display:flex;align-items:center;gap:2px}.dv-zoom{margin-left:auto}.dv-page-indicator,.dv-zoom-pct{font-size:12px;color:var(--text2);min-width:44px;text-align:center;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.dv-btn{background:none;border:none;cursor:pointer;width:26px;height:26px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);transition:background .1s,color .1s}.dv-btn:hover{background:#0000000f;color:var(--text1)}[data-theme=dark] .dv-btn:hover{background:#ffffff14}.dv-btn-text{width:auto;padding:0 8px;font-size:12px;font-family:inherit}.dv-scroll{flex:1;min-height:0;overflow:auto;padding:8px;display:flex;align-items:flex-start;justify-content:center;background:var(--bg2);outline:none;overscroll-behavior:contain}.dv-stage{display:inline-block;min-width:100%;text-align:center}.dv-canvas{background:#fff;box-shadow:0 1px 6px #0000001f;display:block;margin:0 auto;max-width:none}.dv-img{display:block;margin:0 auto;background:#fff;box-shadow:0 1px 4px #0000001a;border-radius:2px}.dv-empty{color:var(--text3);font-size:13px;padding:32px 16px;text-align:center;width:100%}.bp-pending-quote-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;background:#f59e0b;margin-left:6px;vertical-align:middle;cursor:default}.scope-entry-quote-pending td{opacity:1;text-decoration:none;color:var(--text1)}.scope-entry-quote-pending .quote-received-pill{display:inline-block;padding:2px 8px;border-radius:10px;background:#fef3c7;color:#475569;font-size:11px;font-weight:500;margin-left:8px;vertical-align:middle}[data-theme=dark] .ss-lockup{color:var(--ss-paper)}[data-theme=dark] .ss-lockup .ss-corners{fill:var(--ss-paper)}[data-theme=dark] .ss-lockup .ss-origin{fill:var(--ss-blue-on-ink)}[data-theme=dark] .ss-lockup .ss-lockup__pro{color:var(--ss-blue-on-ink)}:root{--z-context-menu: 210;--z-auth: 1000}.auth-screen{--al-paper: #ffffff;--al-input: #ffffff;--al-ink: #1d1d1f;--al-muted: #6e6e73;--al-line: #e2e3e6;--al-line-strong: #c9ccd2;--al-input-line: #a9adb5;--al-accent: #0b5fd6;--al-accent-text: #0a4fb0;--al-accent-hover: #0a4fb0;--al-accent-dim: rgba(11,95,214,.1);--al-accent-ring: rgba(11,95,214,.22);--al-cta-text: #ffffff;--al-tint: #edf2fa;--al-ok-bg: #eef8f0;--al-ok-line: #bfe3c6;--al-ok-text: #1a6b32;--al-err-bg: #fdf1f1;--al-err-line: #f0c4c4;--al-err-text: #b42323;--al-frame: #f4f5f7;--al-origin: rgba(11,95,214,.09);--al-origin-live: rgba(11,95,214,.22);position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-auth, 1000);overflow:auto;background:var(--al-paper);color:var(--al-ink);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-align:left}[data-theme=dark] .auth-screen{--al-paper: #1c1f28;--al-input: #22262f;--al-ink: #f1f1f3;--al-muted: #a2a5ad;--al-line: #36383e;--al-line-strong: #454852;--al-input-line: #5a5f6a;--al-accent: #4c91f7;--al-accent-text: #6ba5f9;--al-accent-hover: #6ba5f9;--al-accent-dim: rgba(76,145,247,.14);--al-accent-ring: rgba(76,145,247,.3);--al-cta-text: #162337;--al-tint: #202a38;--al-ok-bg: #16281c;--al-ok-line: #245c34;--al-ok-text: #8fd9a3;--al-err-bg: #2c1919;--al-err-line: #6b2727;--al-err-text: #f0a1a1;--al-frame: #252932;--al-origin: rgba(76,145,247,.12);--al-origin-live: rgba(76,145,247,.28)}.auth-screen *{box-sizing:border-box}.auth-screen button,.auth-screen input,.auth-screen select{font-family:inherit}.auth-screen button{cursor:pointer}.auth-screen svg{display:block;flex:none}.auth-page{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.auth-frame{--fr: min(76vh, 88vw, 640px);--arm: calc(var(--fr) / 3);--thick: calc(var(--fr) / 14);position:absolute;left:50%;top:50%;width:var(--fr);height:var(--fr);transform:translate(-50%,-50%);pointer-events:none}.auth-frame .af{position:absolute;display:block;background:var(--al-frame)}.auth-frame .af-tl-h{left:0;top:0;width:var(--arm);height:var(--thick)}.auth-frame .af-tl-v{left:0;top:0;width:var(--thick);height:var(--arm)}.auth-frame .af-tr-h{right:0;top:0;width:var(--arm);height:var(--thick)}.auth-frame .af-tr-v{right:0;top:0;width:var(--thick);height:var(--arm)}.auth-frame .af-br-h{right:0;bottom:0;width:var(--arm);height:var(--thick)}.auth-frame .af-br-v{right:0;bottom:0;width:var(--thick);height:var(--arm)}.auth-frame .af-origin{left:0;bottom:0;width:var(--arm);height:var(--arm);background:var(--al-origin);animation:af-origin .55s cubic-bezier(.2,.7,.2,1) both;transition:background .3s ease}.auth-page.is-focus .af-origin{background:var(--al-origin-live)}.auth-page.is-focus .af{transition:background .3s ease}@keyframes af-origin{0%{transform:translate(28%,-28%);opacity:0}to{transform:none;opacity:1}}.auth-main{position:relative;width:400px;max-width:100%;margin:0;padding:36px 32px 28px;background:var(--al-paper);border:1px solid var(--al-line);border-radius:10px}.auth-lockup{display:flex;justify-content:center;align-items:center;gap:.31em;font-size:32px;font-weight:400;letter-spacing:-.015em;line-height:1;white-space:nowrap;color:var(--al-ink)}.auth-lockup svg{width:.86em;height:.86em}.auth-lockup .ss-corners{fill:var(--al-ink)}.auth-lockup .ss-origin{fill:var(--al-accent)}.auth-lockup .auth-pro{font-weight:600;color:var(--al-accent);margin-left:.21em}.auth-tag{margin:14px 0 36px;text-align:center;color:var(--al-muted);font-size:15px;line-height:1.5}.auth-entry{min-width:0}.auth-entry h1{margin:0 0 18px;font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.4px}.auth-entry h1.has-intro{margin-bottom:8px}.auth-intro{margin:0 0 24px;color:var(--al-muted);font-size:14px;line-height:1.6}.auth-msg{padding:12px 14px;margin:0 0 20px;border:1px solid var(--al-line);border-radius:6px;background:var(--al-tint);color:var(--al-ink);font-size:13px;line-height:1.55}.auth-msg-ok{background:var(--al-ok-bg);border-color:var(--al-ok-line);color:var(--al-ok-text)}.auth-msg-err{background:var(--al-err-bg);border-color:var(--al-err-line);color:var(--al-err-text)}.auth-field{margin-bottom:16px}.auth-field label{display:block;margin:0 0 7px;font-size:13px;font-weight:500;line-height:1.5;color:var(--al-ink)}.auth-field label .opt{color:var(--al-muted);font-weight:400;margin-left:6px;font-size:12px}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.auth-label-row label{margin:0}.auth-field input,.auth-field select{width:100%;height:44px;min-width:0;border:1px solid var(--al-input-line);border-radius:6px;background:var(--al-input);color:var(--al-ink);font-size:15px;line-height:1.5;padding:0 12px;outline:none;transition:border-color .12s ease,box-shadow .12s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.auth-field input::placeholder{color:var(--al-muted);opacity:.75}.auth-field input:hover,.auth-field select:hover{border-color:var(--al-ink)}.auth-field input:focus,.auth-field select:focus{border-color:var(--al-accent);box-shadow:0 0 0 3px var(--al-accent-ring)}.auth-select-wrap{position:relative}.auth-select-wrap select{padding-right:36px}.auth-select-wrap svg{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--al-muted)}.auth-password{position:relative}.auth-password input{padding-right:44px}.auth-eye{position:absolute;top:4px;right:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--al-muted)}.auth-eye:hover{color:var(--al-ink)}.auth-eye[aria-pressed=true]{color:var(--al-accent-text);background:var(--al-tint)}.auth-eye:focus-visible{outline:2px solid var(--al-accent);outline-offset:1px}.auth-help{margin:6px 0 0;color:var(--al-muted);font-size:12px;line-height:1.5}.auth-link{background:transparent;border:0;padding:0;color:var(--al-accent-text);font-size:13px;line-height:1.5;font-weight:500}.auth-link:hover{text-decoration:underline;text-underline-offset:3px}.auth-link:focus-visible{outline:2px solid var(--al-accent);outline-offset:2px;border-radius:2px}.auth-cta{display:flex;align-items:center;justify-content:center;width:100%;height:44px;margin-top:6px;border:1px solid transparent;border-radius:6px;background:var(--al-accent);color:var(--al-cta-text);font-size:15px;font-weight:500;letter-spacing:-.1px;transition:background .12s ease}.auth-cta:hover{background:var(--al-accent-hover)}.auth-cta:focus-visible{outline:2px solid var(--al-accent);outline-offset:2px}.auth-cta:disabled{opacity:.6;cursor:default}.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--al-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--al-line)}.auth-google{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--al-line-strong);border-radius:6px;background:var(--al-input);color:var(--al-ink);font-size:14px;font-weight:400;transition:border-color .12s ease}.auth-google:hover{border-color:var(--al-ink)}.auth-google:focus-visible{outline:2px solid var(--al-accent);outline-offset:2px}.auth-terms{margin:12px 0 0;color:var(--al-muted);font-size:12px;line-height:1.55;text-align:center}.auth-terms a{color:var(--al-accent-text);text-decoration:none}.auth-terms a:hover{text-decoration:underline;text-underline-offset:3px}.auth-alt{margin:22px 0 0;text-align:center;color:var(--al-muted);font-size:13px}.auth-alt .auth-link{margin-left:4px}.auth-back{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:44px;margin-top:10px;border:0;background:transparent;color:var(--al-accent-text);font-size:13px;font-weight:500}.auth-back:hover{text-decoration:underline;text-underline-offset:3px}.auth-footer{position:absolute;left:24px;bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;color:var(--al-muted);font-size:12px;line-height:1.6}@media(max-width:660px){.auth-frame{display:none}.auth-main{padding:8px 0 0;border:0;border-radius:0}.auth-lockup{font-size:28px}.auth-field input,.auth-field select{font-size:16px}.auth-footer{left:0;right:0;justify-content:center}}@media(prefers-reduced-motion:reduce){.auth-screen *{transition:none!important;animation:none!important}}.avatar-dd{position:fixed;z-index:var(--z-context-menu, 210);min-width:200px;background:var(--bg1, #fff);border:1px solid var(--border, rgba(0,0,0,.08));border-radius:8px;padding:4px 0;box-shadow:0 4px 12px #0000001a;animation:avatarDdIn .12s ease;font-family:Inter,-apple-system,sans-serif}@keyframes avatarDdIn{0%{opacity:0;transform:translateY(-4px)}}[data-theme=dark] .avatar-dd{background:var(--bg2, #22262f);border-color:var(--border-strong, rgba(255,255,255,.1));box-shadow:0 4px 12px #0000004d}.avatar-dd-user{padding:10px 12px 8px}.avatar-dd-name{font-size:12px;font-weight:600;color:var(--text1, #1d1d1f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-dd-email{font-size:11px;color:var(--text2, #6e6e73);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-dd-divider{height:1px;background:var(--border, rgba(0,0,0,.08));margin:4px 8px}.avatar-dd-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;border-radius:0;font-size:13px;font-weight:500;font-family:inherit;color:var(--text1, #1d1d1f);cursor:pointer;transition:background .1s;text-align:left}.avatar-dd-item:hover{background:var(--bg2, #f9f9fb)}.avatar-dd-item svg{color:var(--text2, #6e6e73);flex-shrink:0}.avatar-dd-toggle{margin-left:auto;width:34px;height:20px;border-radius:10px;background:var(--bg4, #e8e8ee);position:relative;transition:background .2s;flex-shrink:0}.avatar-dd-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s}.avatar-dd-toggle-on{background:var(--accent)}.avatar-dd-toggle-on:after{transform:translate(14px)}.user-badge{display:flex;align-items:center;gap:10px}.ub-name{font-size:13px;font-weight:500;color:var(--text1, #1d1d1f);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-menu{position:fixed;z-index:var(--z-context-menu);min-width:220px;background:var(--bg1, #fff);border:1px solid var(--border-strong, rgba(0,0,0,.12));border-radius:12px;padding:6px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;animation:ovIn .12s ease;font-family:Inter,-apple-system,sans-serif}@keyframes ovIn{0%{opacity:0;transform:translateY(-4px)}}[data-theme=dark] .overflow-menu{background:var(--bg2, #22262f);border-color:var(--border-strong, rgba(255,255,255,.1));box-shadow:0 8px 32px #0006,0 2px 8px #0000004d}.ov-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;background:none;border:none;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;color:var(--text1, #1d1d1f);cursor:pointer;transition:background .1s;text-align:left}.ov-item:hover{background:var(--bg3, #f0f0f4)}.ov-item svg{color:var(--text2, #6e6e73);flex-shrink:0}.snap-toggle.off{opacity:.45}.snap-toggle.off .snap-check{display:none}.ov-divider{height:1px;background:var(--border, rgba(0,0,0,.08));margin:4px 8px}.ov-toggle{margin-left:auto;width:34px;height:20px;border-radius:10px;background:var(--bg4, #e8e8ee);position:relative;transition:background .2s;flex-shrink:0}.ov-toggle:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .2s}.ov-toggle.on{background:var(--accent)}.ov-toggle.on:after{transform:translate(14px)}@media(max-width:768px){.ov-item,.avatar-dd-item{padding:12px 14px;min-height:44px}}.hidden{display:none!important}.trial-pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 6px 0 12px;border:1px solid var(--border);border-radius:15px;background:var(--bg2, #f9f9fb);color:var(--text2, #6e6e73);font-size:12px;white-space:nowrap}.trial-pill.urgent{border-color:#dc262659;color:#b42323}[data-theme=dark] .trial-pill.urgent{color:#f0a1a1}.trial-pill button{height:22px;padding:0 10px;border:0;border-radius:11px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}.trial-pill button:hover{background:var(--accent-hover, var(--accent))}@media(max-width:768px){.trial-pill span{display:none}}.acct-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;overflow:auto;background:var(--bg1, #fff);color:var(--text1, #1d1d1f);font-family:IBM Plex Sans,-apple-system,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.acct-screen.acct-sheet{background:#0000006b}.acct-panel{width:min(100% - 40px,520px);margin:0 auto;padding:56px 0 64px}.acct-sheet .acct-panel{background:var(--bg1, #fff);border-radius:10px;margin-top:8vh;padding:32px 32px 28px;box-shadow:0 24px 60px #00000040}.acct-lockup{display:inline-flex;align-items:center;gap:.31em;font-size:26px;letter-spacing:-.015em;line-height:1;margin-bottom:40px}.acct-lockup svg{width:.86em;height:.86em}.acct-lockup .ss-corners{fill:var(--text1, #1d1d1f)}.acct-lockup .ss-origin{fill:var(--accent)}.acct-lockup .acct-pro{font-weight:600;color:var(--accent);margin-left:.21em}.acct-panel h1{margin:0 0 8px;font-size:28px;font-weight:500;letter-spacing:-.7px;line-height:1.2}.acct-panel h2{margin:0 0 6px;font-size:22px;font-weight:500;letter-spacing:-.4px}.acct-sub{margin:0 0 24px;color:var(--text2, #6e6e73);font-size:15px;line-height:1.6}.acct-note{margin:14px 0 0;color:var(--text2, #6e6e73);font-size:12.5px;line-height:1.5}.acct-note a,.acct-link{color:var(--accent-text, var(--accent));text-decoration:none;font-weight:500}.acct-note a:hover,.acct-link:hover{text-decoration:underline;text-underline-offset:3px}.acct-link{background:transparent;border:0;padding:0;font-family:inherit;font-size:13px;cursor:pointer}.acct-msg{padding:12px 14px;margin:0 0 18px;border:1px solid var(--border);border-radius:6px;background:var(--bg2, #f9f9fb);font-size:13px;line-height:1.55}.acct-msg.err{background:#fdf1f1;border-color:#f0c4c4;color:#b42323}[data-theme=dark] .acct-msg.err{background:#2c1919;border-color:#6b2727;color:#f0a1a1}.period-toggle{display:inline-flex;padding:3px;margin:4px 0 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg2, #f9f9fb)}.period-toggle button{height:30px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--text2, #6e6e73);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:8px}.period-toggle button[aria-checked=true]{background:var(--bg1, #fff);color:var(--text1, #1d1d1f);box-shadow:0 1px 2px #00000014}.period-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.plan-opt .po-blurb{margin-top:10px;font-size:12px;line-height:1.5;color:var(--text2, #6e6e73)}.plan-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.plan-choice.single{grid-template-columns:1fr}.plan-choice.single .plan-opt{cursor:default}.plan-opt{position:relative;display:block;padding:16px 16px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg1, #fff);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:border-color .12s ease,box-shadow .12s ease}.plan-opt:hover{border-color:var(--text2, #6e6e73)}.plan-opt[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim, rgba(11,95,214,.1))}.plan-opt .po-name{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:500;margin-bottom:6px}.plan-opt .po-save{font-size:11px;font-weight:500;color:var(--accent-text, var(--accent));background:var(--accent-dim, rgba(11,95,214,.1));padding:2px 7px;border-radius:10px}.plan-opt .po-price{font-size:22px;font-weight:500;letter-spacing:-.5px}.plan-opt .po-price small{font-size:13px;font-weight:400;color:var(--text2, #6e6e73);letter-spacing:0;margin-left:2px}.plan-opt .po-per{margin-top:4px;font-size:12px;color:var(--text2, #6e6e73)}.plan-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:480px){.plan-choice{grid-template-columns:1fr}}.acct-cta{display:flex;align-items:center;justify-content:center;width:100%;height:44px;border:1px solid transparent;border-radius:6px;background:var(--accent);color:#fff;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit}.acct-cta:hover{background:var(--accent-hover, var(--accent))}.acct-cta:disabled{opacity:.6;cursor:default}.acct-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.acct-secondary{display:flex;align-items:center;justify-content:center;width:100%;height:44px;margin-top:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg1, #fff);color:var(--text1, #1d1d1f);font-size:14px;cursor:pointer;font-family:inherit}.acct-secondary:hover{border-color:var(--text2, #6e6e73)}.acct-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.acct-actions .acct-cta{width:auto;min-width:140px;padding:0 22px}.onb-steps{display:flex;gap:6px;margin-bottom:28px}.onb-steps span{flex:1;height:3px;border-radius:2px;background:var(--border)}.onb-steps span.done{background:var(--accent)}.onb-field{margin-bottom:18px}.onb-field label,.onb-field .onb-label{display:block;margin:0 0 7px;font-size:13px;font-weight:500}.onb-field .opt{color:var(--text2, #6e6e73);font-weight:400;margin-left:6px;font-size:12px}.onb-field input[type=text],.onb-field select{width:100%;height:42px;border:1px solid #a9adb5;border-radius:6px;background:var(--bg1, #fff);color:var(--text1, #1d1d1f);font-size:15px;padding:0 12px;font-family:inherit;outline:none}[data-theme=dark] .onb-field input[type=text],[data-theme=dark] .onb-field select{border-color:#5a5f6a}.onb-field input:focus,.onb-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim, rgba(11,95,214,.12))}.onb-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:480px){.onb-row{grid-template-columns:1fr}}.onb-chips{display:flex;flex-wrap:wrap;gap:8px}.onb-chip{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:16px;background:var(--bg1, #fff);color:var(--text1, #1d1d1f);font-size:13px;cursor:pointer;font-family:inherit}.onb-chip:hover{border-color:var(--text2, #6e6e73)}.onb-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-dim, rgba(11,95,214,.1));color:var(--accent-text, var(--accent));font-weight:500}.onb-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.onb-why{margin:-6px 0 16px;color:var(--text2, #6e6e73);font-size:12.5px;line-height:1.5}.sp-plan-pill-off{background:var(--surface2, #eef0f3);color:var(--text2, #6b7280)}.mfa-enroll{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.mfa-qr{width:168px;height:168px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:#fff;padding:6px}.mfa-steps{display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--text, #111827);max-width:420px}.mfa-secret{font-size:12px;color:var(--text2, #6b7280)}.mfa-secret code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;-webkit-user-select:all;user-select:all}.mfa-code-row{display:flex;gap:8px;align-items:center}.mfa-code{width:120px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:18px;letter-spacing:4px;text-align:center;padding:6px 8px;border:1px solid var(--border, #d1d5db);border-radius:6px;background:var(--surface, #fff);color:var(--text, #111827)}.mfa-code:focus{outline:2px solid var(--accent, #2874C2);outline-offset:1px;border-color:transparent}.sp-btn-quiet{background:transparent;color:var(--text, #111827);border:1px solid var(--border, #d1d5db)}.shared-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;flex-direction:column;background:var(--bg1, #fff);color:var(--text1, #1d1d1f)}.shared-banner{display:flex;align-items:center;gap:14px;height:48px;padding:0 12px 0 10px;border-bottom:1px solid var(--border);background:var(--bg2, #f9f9fb);flex:none}.shared-banner .ss-lockup{font-size:17px}.shared-banner-back{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text2);cursor:pointer}.shared-banner-back:hover{background:var(--bg3);color:var(--text1)}.shared-banner-text{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-banner-name{font-weight:600;font-size:14px}.shared-banner-by{color:var(--text2);font-size:12.5px}.shared-banner-mode{color:var(--text2);font-size:12px;padding:2px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg1)}.shared-banner-ask{color:var(--accent-text, var(--accent));font-size:12.5px;font-weight:500}.shared-cta{height:30px;padding:0 14px;border:0;border-radius:15px;background:var(--accent);color:#fff;font-size:12.5px;font-weight:500;cursor:pointer;font-family:inherit;white-space:nowrap}.shared-cta:hover{background:var(--accent-hover, var(--accent))}.shared-body{flex:1;min-height:0;display:flex}.shared-plan{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg0, #f5f5f7)}.shared-tools{display:flex;align-items:center;gap:4px;height:40px;padding:0 10px;border-bottom:1px solid var(--border);background:var(--bg1);flex:none}.shared-tools .toolbar-tool,.shared-tools .toolbar-btn{opacity:.45;cursor:not-allowed}.shared-tools .toolbar-tool:hover,.shared-tools .toolbar-btn:hover{opacity:.7}.shared-tools-note{margin-left:auto;color:var(--text2);font-size:12px}.shared-layer{display:inline-flex;align-items:center;gap:6px;margin-left:14px;padding-left:14px;border-left:1px solid var(--border);color:var(--text2);font-size:12px;cursor:pointer;white-space:nowrap}.shared-layer input{margin:0;width:14px;height:14px;accent-color:var(--accent)}.shared-plan-body{flex:1;min-height:0;display:flex}.shared-pages{width:132px;flex:none;overflow-y:auto;padding:8px;border-right:1px solid var(--border);background:var(--bg1)}.shared-page-thumb{display:block;width:100%;margin-bottom:8px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--bg1);cursor:pointer;text-align:left;font-family:inherit}.shared-page-thumb.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.shared-page-thumb canvas{display:block;width:100%;height:auto;background:#fff;border-radius:3px}.shared-page-thumb span{display:block;margin-top:4px;font-size:11px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shared-canvas-wrap{flex:1;min-width:0;position:relative;overflow:hidden;cursor:grab}.shared-canvas-wrap.dragging{cursor:grabbing}.shared-canvas-wrap canvas{position:absolute;left:0;top:0;transform-origin:0 0}.shared-canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text2);font-size:13px}.shared-zoom{position:absolute;right:12px;bottom:12px;display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:8px;background:var(--bg-glass, rgba(255,255,255,.85));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.shared-zoom button{width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--text1);font-size:15px;cursor:pointer;font-family:inherit}.shared-zoom button:hover{background:var(--bg3)}.shared-budget{flex:1 1 45%;min-width:380px;display:flex;flex-direction:column;background:var(--bg1)}.shared-budget-head{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border-bottom:1px solid var(--border);flex:none;font-size:13px;font-weight:600}.shared-budget-head .sv-tools{margin-left:auto;display:inline-flex;gap:6px}.shared-budget-head button{height:26px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg1);color:var(--text1);font-size:12px;cursor:pointer;font-family:inherit}.shared-budget-head button:hover{background:var(--bg2)}.shared-sheets{flex:1;min-height:0;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.shared-sheets .sv-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.shared-sheets .bw-zoomarea{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 12px 10px;overflow:hidden}.shared-sheets .sv-scroll{overflow:auto}.shared-sheets .bw-tabs{flex:none}.shared-files{border-top:1px solid var(--border);padding:10px 12px;max-height:32%;overflow-y:auto;flex:none}.shared-files-head{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:6px}.shared-file{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--text1);font-size:12.5px;cursor:pointer;font-family:inherit;text-align:left}.shared-file:hover{background:var(--bg2)}.shared-file .sf-size{margin-left:auto;color:var(--text3);font-size:11.5px}.shared-ended{position:fixed;top:0;right:0;bottom:0;left:0;z-index:91;display:flex;align-items:center;justify-content:center;background:var(--bg1)}.shared-ended .acct-panel{text-align:center}@media(max-width:900px){.shared-body{flex-direction:column}.shared-plan{border-right:0;border-bottom:1px solid var(--border);flex:1 1 50%}.shared-budget{min-width:0}.shared-plan-body{flex-direction:column}.shared-pages{width:auto;height:92px;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--border)}.shared-page-thumb{width:96px;flex:none;margin:0}}.share-dlg-bg{align-items:flex-start;padding-top:28px}.share-dlg{width:min(100% - 32px,560px);min-height:0;max-height:calc(100vh - 52px);resize:none}.share-head{padding:24px 28px 0;flex:none}.share-dlg h2{margin:0 0 4px;font-size:18px;font-weight:600;letter-spacing:-.01em}.share-dlg .share-sub{margin:0 0 8px;color:var(--text2);font-size:13px}.share-body{flex:1;min-height:0;overflow-y:auto;padding:10px 28px 8px}.share-body::-webkit-scrollbar{width:6px}.share-body::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:3px}.share-foot{display:flex;align-items:center;gap:8px;padding:12px 28px 20px;flex:none}.share-foot-gap{flex:1}.share-copylink{display:inline-flex;align-items:center;gap:7px}.share-copylink.is-copied,.share-linkrow-copy.is-copied{color:var(--accent-text, var(--accent));border-color:var(--accent)}.share-linkrow{margin-top:14px}.share-linkrow-label{display:block;margin-bottom:5px;font-size:12.5px;font-weight:500;color:var(--text1)}.share-linkrow-field{display:flex;gap:8px}.share-linkrow-field input{flex:1;min-width:0;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg2);color:var(--text2);font-size:12.5px;font-family:inherit;text-overflow:ellipsis}.share-linkrow-field input:focus{outline:0;border-color:var(--accent);color:var(--text1)}.share-linkrow-copy{height:32px;padding:0 12px;flex:none}.share-done-line{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--text2)}.share-msg .share-linkrow{margin-top:0}.share-sec{padding:12px 0;border-top:1px solid var(--border)}.share-sec:first-of-type{border-top:0;padding-top:4px}.share-sec-head{font-size:13px;font-weight:600;color:var(--text1);margin-bottom:8px}.share-opt{font-weight:400;color:var(--text3);margin-left:4px}.share-to{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg1);cursor:text}.share-to:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0b5fd626}.share-chips{display:contents}.share-chip{display:inline-flex;align-items:center;gap:2px;height:26px;padding:0 4px 0 10px;border-radius:13px;background:var(--bg3);color:var(--text1);font-size:12.5px;max-width:100%}.share-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-chip button{width:20px;height:20px;border:0;border-radius:10px;background:transparent;color:var(--text3);font-size:15px;line-height:1;cursor:pointer;font-family:inherit}.share-chip button:hover{background:var(--bg4);color:var(--text1)}.share-to input{flex:1 1 160px;min-width:120px;height:28px;border:0;outline:0;background:transparent;color:var(--text1);font-size:13px;font-family:inherit;padding:0 2px}.share-suggest{position:absolute;left:-1px;right:-1px;top:calc(100% + 4px);z-index:3;background:var(--bg-popover);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-modal);padding:4px;max-height:180px;overflow-y:auto}.share-suggest button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--text1);font-size:12.5px;text-align:left;cursor:pointer;font-family:inherit}.share-suggest button:hover{background:var(--bg3)}.share-suggest .share-dim{color:var(--text3)}.share-row{display:flex;align-items:center;gap:14px;padding:6px 0;cursor:pointer}.share-row+.share-row{border-top:1px solid var(--border)}.share-sec-head+.share-row,.share-to+.share-row{margin-top:2px}.share-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.share-row-label{font-size:13px;color:var(--text1)}.share-row-note{font-size:12px;color:var(--text3)}.share-switch{position:relative;display:inline-block;width:36px;height:20px;flex:none}.share-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.share-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:var(--switch-off, #c7c7cc);transition:background .18s;pointer-events:none}.share-switch-track:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s}.share-switch input:checked+.share-switch-track{background:var(--accent)}.share-switch input:checked+.share-switch-track:after{transform:translate(16px)}.share-switch input:focus-visible+.share-switch-track{box-shadow:0 0 0 3px #0b5fd640}.share-switch input:disabled+.share-switch-track{opacity:.5}.share-lines{max-height:340px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px 6px}.share-line{display:flex;align-items:center;gap:10px;padding:5px 6px;font-size:13px;cursor:pointer;border-radius:6px}.share-line:hover{background:var(--bg2)}.share-line input{margin:0;width:15px;height:15px;accent-color:var(--accent);flex:none}.share-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-line-top{font-weight:500}.share-line-sub{padding-left:32px;color:var(--text2)}.share-line-sub span{color:var(--text1)}.share-line[hidden]{display:none}.share-empty{padding:8px 6px;font-size:12.5px;color:var(--text3)}.share-role-wrap{position:relative;display:inline-flex;align-items:center;margin-left:auto;color:var(--text2);flex:none}.share-role{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:28px;padding:0 20px 0 8px;border:0;border-radius:6px;background:transparent;color:var(--text2);font-size:12.5px;font-family:inherit;cursor:pointer}.share-role:hover{background:var(--bg2);color:var(--text1)}.share-role:focus-visible{outline:0;box-shadow:0 0 0 3px #0b5fd640}.share-role-wrap svg{position:absolute;right:6px;pointer-events:none}.share-due[hidden]{display:none}.share-access{padding:4px 0 2px;font-size:12.5px;color:var(--text2)}.share-to+.share-access{padding-top:8px}.share-access [hidden]{display:none}.share-access label{display:inline-flex;align-items:center;gap:6px}.share-access input{height:26px;padding:0 6px;border:1px solid var(--border);border-radius:6px;background:var(--bg1);color:var(--text1);font-size:12.5px;font-family:inherit}.share-sep{color:var(--text3);margin:0 2px}.share-linkbtn{border:0;padding:0;background:transparent;color:var(--accent-text, var(--accent));font-size:12.5px;font-family:inherit;cursor:pointer}.share-linkbtn:hover{text-decoration:underline}.share-dlg textarea{width:100%;height:64px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg1);color:var(--text1);font-size:13px;line-height:1.45;font-family:inherit;resize:none;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box}.share-dlg textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px #0b5fd626}.share-msg{padding:10px 12px;margin:0 0 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg2);font-size:12.5px;line-height:1.5}.share-msg.err{background:#fdf1f1;border-color:#f0c4c4;color:#b42323}.share-done{padding-bottom:6px}.share-dlg-bg.is-pending .share-body{opacity:.6}.shared-section{padding:0 32px 8px}.shared-section-head{display:flex;align-items:baseline;gap:10px;margin:14px 0 10px;font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}.shared-section-head .shared-dim{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text3)}.shared-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.shared-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--bg1);cursor:pointer;text-align:left;font-family:inherit;color:var(--text1)}.shared-card:hover{border-color:var(--border-strong);box-shadow:0 6px 18px #0000000f}.shared-card-name{font-size:14px;font-weight:600}.shared-card-by{font-size:12.5px;color:var(--text2)}.shared-card-what{font-size:12px;color:var(--text3)}.shared-card-ask{font-size:12.5px;color:var(--accent-text, var(--accent));font-weight:500}.dash-locked-card{margin:24px 32px;padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--bg2);max-width:560px}.dash-locked-card h2{margin:0 0 6px;font-size:20px;font-weight:600}.dash-locked-card p{margin:0 0 16px;color:var(--text2);font-size:14px;line-height:1.5}.msg-list{padding:8px 32px 32px;max-width:900px}.msg-row{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:12px 14px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg1);font-size:13px}.msg-row.unread{border-left:3px solid var(--accent)}.msg-row-title{font-weight:600}.msg-row-sub{grid-column:1;color:var(--text2);font-size:12.5px}.msg-row-time{color:var(--text3);font-size:12px;white-space:nowrap}.msg-row-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.msg-row-actions button{height:26px;padding:0 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg1);color:var(--text1);font-size:12px;cursor:pointer;font-family:inherit}.msg-row-actions button:hover{background:var(--bg2)}.msg-row-actions button.danger{color:var(--red, #d92d20)}.msg-grant{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:3px 0}.msg-grant .msg-state{padding:1px 7px;border-radius:9px;font-size:11px;background:var(--bg3);color:var(--text2)}.msg-grant .msg-state.live{background:var(--green-dim, rgba(52,199,89,.12));color:#1f7a3a}.msg-grant .msg-state.ended{background:var(--bg3);color:var(--text3)}.msg-grant .msg-grant-revoke{margin-left:auto;height:22px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--text3);font-size:11.5px;cursor:pointer;font-family:inherit}.msg-grant .msg-grant-revoke:hover{background:var(--bg3);color:var(--text1)}.nav-unread{display:inline-block;min-width:16px;height:16px;padding:0 5px;margin-left:6px;border-radius:8px;background:var(--accent);color:#fff;font-size:10.5px;line-height:16px;text-align:center;vertical-align:1px}.acct-locked-card{margin:8px 32px 16px;max-width:640px}.acct-locked-card .acct-panel{width:auto;margin:0;padding:24px 28px;border:1px solid var(--border);border-radius:12px;background:var(--bg2)}.acct-locked-card .acct-lockup{display:none}.acct-locked-card h1{font-size:20px}
