@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";@font-face{font-family:VFC Fantomen;src:url(/fonts/VFCFantomen.ttf) format("truetype");font-weight:100 900;font-style:normal}:root{--bg: #f6f7fb;--bg-soft: #eef1f7;--bg-card: #ffffff;--accent: #2563eb;--accent-2: #1d4ed8;--text-strong: #0f172a;--text-muted: #6b7280;--border: #f1f5f9;--shadow: 0 18px 40px rgba(15, 23, 42, .08);--radius: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--text-strong);background:#fff;transition:color .4s ease,background-color .4s ease;line-height:1.6;font-family:Space Grotesk,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}a{color:var(--accent)}#app{width:100%;max-width:none;margin:0;padding:0;font-weight:400}[data-v-32ec0513]::-webkit-scrollbar{width:6px;height:6px}[data-v-32ec0513]::-webkit-scrollbar-track{background:transparent}[data-v-32ec0513]::-webkit-scrollbar-thumb{background:var(--scroll-thumb, #cbd5e1);border-radius:999px}[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-v-32ec0513]::-webkit-scrollbar-corner{background:transparent}.page-shell.dark[data-v-32ec0513] ::-webkit-scrollbar-thumb{background:var(--scroll-thumb, #475569)}.page-shell.dark[data-v-32ec0513] ::-webkit-scrollbar-thumb:hover{background:#64748b}.landing-shell[data-v-32ec0513]{--btn-primary-bg: #2563eb;--btn-primary-hover: #1d4ed8;--btn-primary-text: #ffffff;--btn-dark-bg: #0f172a;--btn-dark-hover: #1e293b;--btn-dark-text: #ffffff;--btn-ghost-bg: #ffffff;--btn-ghost-hover: #f1f5f9;--btn-ghost-text: #0f172a;--btn-ghost-border: #e2e8f0;--btn-muted-text: #0f172a;--btn-muted-hover-bg: #f1f5f9;--btn-muted-hover-text: #0f172a;min-height:100vh;background:#fff;color:#0f172a;font-family:Space Grotesk,Segoe UI,-apple-system,sans-serif;display:flex;flex-direction:column;overflow-y:auto;position:fixed;inset:0;z-index:9999}.landing-nav[data-v-32ec0513]{padding:18px 56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#ffffffe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:10}.landing-nav-logo[data-v-32ec0513]{height:24px;width:auto;display:block;color:#0f172a}.landing-nav-right[data-v-32ec0513]{display:flex;align-items:center;gap:28px}.landing-nav-link[data-v-32ec0513]{font-size:14px;color:#64748b;text-decoration:none;font-weight:500;transition:color .15s;cursor:pointer;background:none;border:none;font-family:inherit;padding:0}.landing-nav-link[data-v-32ec0513]:hover{color:#0f172a}.landing-signin-btn[data-v-32ec0513]{background:var(--btn-dark-bg);color:var(--btn-dark-text);border:none;border-radius:8px;padding:9px 20px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s;font-family:inherit}.landing-signin-btn[data-v-32ec0513]:hover{background:var(--btn-dark-hover)}.landing-hero[data-v-32ec0513]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100vh;padding:112px 24px 88px;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(37,99,235,.07),transparent);border-bottom:1px solid var(--border)}.landing-hero-tag[data-v-32ec0513]{display:inline-block;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:999px;margin-bottom:32px;border:1px solid #dbeafe}.landing-hero-h1[data-v-32ec0513]{font-size:clamp(48px,8vw,82px);font-weight:700;line-height:1.05;letter-spacing:-3px;color:#0f172a;margin-bottom:24px}.landing-hero-em[data-v-32ec0513]{font-style:normal;background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero-p[data-v-32ec0513]{font-size:18px;color:#64748b;max-width:500px;line-height:1.75;margin-bottom:44px}.landing-hero-actions[data-v-32ec0513]{display:flex;align-items:center;gap:16px;margin-bottom:64px;flex-wrap:wrap;justify-content:center}.landing-cta-btn[data-v-32ec0513]{background:var(--btn-dark-bg);color:var(--btn-dark-text);border:none;border-radius:10px;padding:14px 32px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;box-shadow:0 4px 16px #0f172a38}.landing-cta-btn[data-v-32ec0513]:hover{background:var(--btn-dark-hover);transform:translateY(-1px);box-shadow:0 6px 24px #0f172a47}.landing-secondary-btn[data-v-32ec0513]{color:#64748b;font-size:15px;font-weight:500;text-decoration:none;padding:14px 20px;transition:color .15s;background:none;border:none;font-family:inherit;cursor:pointer}.landing-secondary-btn[data-v-32ec0513]:hover{color:#0f172a}.landing-hero-stats[data-v-32ec0513]{display:flex;align-items:center;gap:40px;border-top:1px solid var(--border);padding-top:36px}.landing-stat[data-v-32ec0513]{display:flex;flex-direction:column;align-items:center;gap:4px}.landing-stat strong[data-v-32ec0513]{font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.5px}.landing-stat span[data-v-32ec0513]{font-size:12px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.landing-stat-sep[data-v-32ec0513]{width:1px;height:36px;background:#e2e8f0}.landing-features-intro[data-v-32ec0513]{text-align:center;padding:88px 24px 56px}.landing-features-intro-tag[data-v-32ec0513]{display:inline-block;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:999px;margin-bottom:20px;border:1px solid #dbeafe}.landing-features-intro-title[data-v-32ec0513]{font-size:clamp(30px,4vw,44px);font-weight:700;letter-spacing:-1.2px;color:#0f172a;margin-bottom:16px}.landing-features-intro-sub[data-v-32ec0513]{font-size:16px;color:#64748b;max-width:480px;margin:0 auto;line-height:1.75}.landing-features[data-v-32ec0513]{display:flex;flex-direction:column;max-width:1060px;margin:0 auto;padding:0 56px 112px;gap:0}.landing-feature-item[data-v-32ec0513]{display:flex;align-items:center;gap:80px;padding:80px 0;border-bottom:1px solid var(--border)}.landing-feature-item[data-v-32ec0513]:last-child{border-bottom:none}.landing-feature-item-reverse[data-v-32ec0513]{flex-direction:row-reverse}.landing-feature-content[data-v-32ec0513]{flex:1;min-width:0}.landing-feature-mockup[data-v-32ec0513]{flex-shrink:0;width:360px;border-radius:16px;overflow:hidden;box-shadow:0 12px 48px #0f172a1a,0 0 0 1px #e2e8f0}.landing-feature-mockup svg[data-v-32ec0513]{display:block;width:100%;height:auto}.landing-feature-name[data-v-32ec0513]{font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.6px;margin-bottom:16px}.landing-feature-desc[data-v-32ec0513]{font-size:15px;color:#64748b;line-height:1.8;margin-bottom:28px}.landing-feature-list[data-v-32ec0513]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.landing-feature-list li[data-v-32ec0513]{font-size:14px;color:#64748b;padding-left:20px;position:relative;line-height:1.5}.landing-feature-list li[data-v-32ec0513]:before{content:"✓";position:absolute;left:0;color:#2563eb;font-size:12px;font-weight:700;top:1px}.landing-plans[data-v-32ec0513]{padding:96px 56px;text-align:center;background:#f8fafc;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-plans-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:960px;margin:48px auto 0;text-align:left}.landing-plan-card[data-v-32ec0513]{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:0;position:relative}.landing-plan-card-featured[data-v-32ec0513]{border-color:#2563eb;box-shadow:0 8px 32px #2563eb1f}.landing-plan-badge[data-v-32ec0513]{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#2563eb;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 14px;border-radius:999px;white-space:nowrap}.landing-plan-name[data-v-32ec0513]{font-size:14px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px}.landing-plan-price[data-v-32ec0513]{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}.landing-plan-amount[data-v-32ec0513]{font-size:40px;font-weight:700;color:#0f172a;letter-spacing:-1px}.landing-plan-period[data-v-32ec0513]{font-size:14px;color:#94a3b8}.landing-plan-desc[data-v-32ec0513]{font-size:13.5px;color:#64748b;line-height:1.65;margin-bottom:24px}.landing-plan-features[data-v-32ec0513]{list-style:none;padding:0;margin:0 0 32px;display:flex;flex-direction:column;gap:10px;flex:1}.landing-plan-features li[data-v-32ec0513]{font-size:13.5px;color:#334155;padding-left:20px;position:relative}.landing-plan-features li[data-v-32ec0513]:before{content:"✓";position:absolute;left:0;color:#2563eb;font-weight:700;font-size:12px}.landing-plan-btn[data-v-32ec0513]{width:100%;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center;border:none}.landing-plan-btn-primary[data-v-32ec0513]{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.landing-plan-btn-primary[data-v-32ec0513]:hover{background:var(--btn-primary-hover)}.landing-plan-btn-ghost[data-v-32ec0513]{background:transparent;color:var(--btn-ghost-text);border:1px solid var(--btn-ghost-border)}.landing-plan-btn-ghost[data-v-32ec0513]:hover{border-color:#94a3b8;background:var(--btn-ghost-hover)}.landing-plan-btn-soon[data-v-32ec0513]{background:#e2e8f0;color:#94a3b8;border:none;cursor:not-allowed;opacity:.8}.landing-plan-card-soon[data-v-32ec0513]{opacity:.85}.landing-plan-card-soon .landing-plan-badge[data-v-32ec0513]{background:#f1f5f9;color:#64748b;border:1px solid var(--border)}.landing-signup[data-v-32ec0513]{padding:96px 56px;border-bottom:1px solid var(--border)}.landing-signup-inner[data-v-32ec0513]{max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.landing-signup-title[data-v-32ec0513]{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-1px;color:#0f172a;margin-bottom:14px}.landing-signup-sub[data-v-32ec0513]{font-size:15px;color:#64748b;line-height:1.75;margin-bottom:28px}.landing-signup-benefits[data-v-32ec0513]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.landing-signup-benefits li[data-v-32ec0513]{font-size:14px;color:#334155;padding-left:20px;position:relative}.landing-signup-benefits li[data-v-32ec0513]:before{content:"✓";position:absolute;left:0;color:#2563eb;font-weight:700;font-size:12px}.landing-signup-form[data-v-32ec0513]{display:flex;flex-direction:column;gap:16px}.landing-form-row[data-v-32ec0513]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.landing-form-group[data-v-32ec0513]{display:flex;flex-direction:column;gap:6px}.landing-form-label[data-v-32ec0513]{font-size:13px;font-weight:600;color:#374151}.landing-form-input[data-v-32ec0513]{padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;color:#0f172a;background:#fff;outline:none;font-family:inherit;transition:border-color .15s;width:100%}.landing-form-input[data-v-32ec0513]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.landing-file-upload[data-v-32ec0513]{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:#f8fafc;cursor:pointer;transition:border-color .15s}.landing-file-upload[data-v-32ec0513]:hover{border-color:#94a3b8}.landing-file-input[data-v-32ec0513]{display:none}.landing-file-btn[data-v-32ec0513]{flex-shrink:0;padding:5px 14px;background:#0f172a;color:#fff;font-size:12px;font-weight:600;border-radius:6px;white-space:nowrap}.landing-file-name[data-v-32ec0513]{font-size:13px;color:#94a3b8;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.landing-file-upload.has-preview[data-v-32ec0513]{height:auto;min-height:40px;padding:8px 12px}.landing-logo-inline-preview[data-v-32ec0513]{height:44px;width:auto;max-width:120px;object-fit:contain;border-radius:4px;flex-shrink:0}.landing-logo-preview-remove[data-v-32ec0513]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#f1f5f9;border:1px solid var(--border);cursor:pointer;color:#64748b;flex-shrink:0;transition:background .15s;margin-left:auto}.landing-logo-preview-remove[data-v-32ec0513]:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.landing-form-error[data-v-32ec0513]{font-size:13px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:8px 12px}.landing-signup-success[data-v-32ec0513]{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:40px 24px}.landing-signup-success h3[data-v-32ec0513]{font-size:20px;font-weight:700;color:#0f172a;margin:0}.landing-signup-success p[data-v-32ec0513]{font-size:14px;color:#64748b;margin:0}.landing-form-note[data-v-32ec0513]{font-size:12px;color:#94a3b8;line-height:1.6;text-align:center}.landing-form-optional[data-v-32ec0513]{font-size:11px;color:#94a3b8;font-weight:400}.landing-select-wrap[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;height:40px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .15s;outline:none;position:relative}.landing-select-wrap[data-v-32ec0513]:hover,.landing-select-wrap[data-v-32ec0513]:focus{border-color:#94a3b8}.landing-select-wrap.open[data-v-32ec0513]{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.landing-select-value[data-v-32ec0513]{font-size:13.5px;color:#0f172a;flex:1}.landing-select-value.placeholder[data-v-32ec0513]{color:#94a3b8}.landing-select-chevron[data-v-32ec0513]{width:16px;height:16px;flex-shrink:0;color:#94a3b8;transition:transform .2s}.landing-select-wrap.open .landing-select-chevron[data-v-32ec0513]{transform:rotate(180deg)}.landing-select-list[data-v-32ec0513]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001a;z-index:9999;list-style:none;padding:4px 0;margin:0;overflow:hidden}.landing-select-option[data-v-32ec0513]{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13.5px;color:#334155;cursor:pointer;transition:background .1s}.landing-select-option[data-v-32ec0513]:hover{background:#f1f5f9}.landing-select-option.selected[data-v-32ec0513]{color:#2563eb;font-weight:600;background:#eff6ff}.landing-select-check[data-v-32ec0513]{width:14px;height:14px;flex-shrink:0;color:#2563eb}.address-suggest-list[data-v-32ec0513]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001a;z-index:9999;list-style:none;padding:4px 0;margin:0;max-height:220px;overflow-y:auto}.address-suggest-item[data-v-32ec0513]{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;font-size:13px;color:#334155;cursor:pointer;line-height:1.4}.address-suggest-item[data-v-32ec0513]:hover{background:#f1f5f9}.address-suggest-icon[data-v-32ec0513]{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:#2563eb}.address-suggest-spinner[data-v-32ec0513]{position:absolute;right:12px;top:50%;transform:translateY(-50%)}@media(max-width:720px){.landing-signup-inner[data-v-32ec0513]{grid-template-columns:1fr;gap:40px}.landing-plans[data-v-32ec0513],.landing-signup[data-v-32ec0513]{padding:72px 24px}.landing-form-row[data-v-32ec0513]{grid-template-columns:1fr}}.landing-cta-strip[data-v-32ec0513]{background:#0f172a;text-align:center;padding:96px 24px}.landing-cta-strip-title[data-v-32ec0513]{font-size:clamp(30px,4vw,44px);font-weight:700;color:#fff;letter-spacing:-1px;margin-bottom:14px}.landing-cta-strip-sub[data-v-32ec0513]{font-size:16px;color:#64748b;margin-bottom:40px}.landing-cta-strip .landing-cta-btn[data-v-32ec0513]{background:#fff;color:#0f172a;box-shadow:0 4px 16px #ffffff26}.landing-cta-strip .landing-cta-btn[data-v-32ec0513]:hover{background:#f8fafc;box-shadow:0 6px 24px #fff3}.landing-footer[data-v-32ec0513]{padding:24px 56px;display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:#cbd5e1;border-top:1px solid var(--border)}.landing-footer-logo[data-v-32ec0513]{height:18px;width:auto;color:#e2e8f0}.landing-footer-links[data-v-32ec0513]{display:flex;align-items:center;gap:8px;margin-left:auto}.landing-footer-sep[data-v-32ec0513]{color:#475569;font-size:11px}.landing-footer-link[data-v-32ec0513]{background:none;border:none;padding:0;cursor:pointer;color:#94a3b8;font-size:12px;font-family:inherit;opacity:.8;transition:opacity .15s}.landing-footer-link[data-v-32ec0513]:hover{opacity:1;text-decoration:underline;color:#e2e8f0}.policy-shell[data-v-32ec0513]{position:fixed;inset:0;display:flex;flex-direction:column;background:#fff;color:#0f172a;font-family:inherit;overflow-y:auto;z-index:1000}.policy-nav[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding:16px 56px;border-bottom:1px solid #e2e8f0;background:#fff;position:sticky;top:0;z-index:10}.policy-nav-logo[data-v-32ec0513]{height:20px;width:auto;color:#1e293b}.policy-nav-back[data-v-32ec0513]{background:none;border:1px solid #e2e8f0;border-radius:8px;padding:6px 14px;font-size:13px;font-family:inherit;color:#475569;cursor:pointer;transition:background .15s,color .15s}.policy-nav-back[data-v-32ec0513]:hover{background:#f1f5f9;color:#1e293b}.policy-main[data-v-32ec0513]{flex:1;max-width:800px;width:100%;margin:0 auto;padding:48px 32px 64px}.policy-title[data-v-32ec0513]{font-size:28px;font-weight:700;color:#0f172a;margin:0 0 6px}.policy-date[data-v-32ec0513]{font-size:13px;color:#64748b;margin:0 0 32px}.policy-body h2[data-v-32ec0513]{font-size:16px;font-weight:600;color:#1e293b;margin:28px 0 8px}.policy-body p[data-v-32ec0513]{font-size:14px;line-height:1.7;color:#334155;margin:0 0 10px}.policy-body ul[data-v-32ec0513]{padding-left:20px;margin:8px 0 10px}.policy-body ul li[data-v-32ec0513]{font-size:14px;line-height:1.7;color:#334155;margin-bottom:4px}.policy-footer[data-v-32ec0513]{padding:20px 56px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:#94a3b8;background:#fff}.policy-footer-links[data-v-32ec0513]{display:flex;align-items:center;gap:8px}.policy-footer-link[data-v-32ec0513]{background:none;border:none;padding:0;cursor:pointer;font-size:12px;font-family:inherit;color:#94a3b8;transition:color .15s}.policy-footer-link[data-v-32ec0513]:hover,.policy-footer-link.active[data-v-32ec0513]{color:#2563eb;text-decoration:underline}@media(max-width:900px){.landing-nav[data-v-32ec0513]{padding:16px 24px}.landing-feature-item[data-v-32ec0513],.landing-feature-item-reverse[data-v-32ec0513]{flex-direction:column;gap:40px;padding:56px 0}.landing-feature-mockup[data-v-32ec0513]{width:100%}.landing-features[data-v-32ec0513]{padding:0 24px 72px}.landing-hero-stats[data-v-32ec0513]{gap:24px}.landing-footer[data-v-32ec0513]{padding:20px 24px}}.login-shell[data-v-32ec0513]{--btn-primary-bg: #2563eb;--btn-primary-hover: #1d4ed8;--btn-primary-text: #ffffff;--btn-muted-text: #0f172a;--btn-muted-hover-bg: #f1f5f9;--btn-muted-hover-text: #0f172a;--btn-danger-bg: #fef2f2;--btn-danger-text: #dc2626;min-height:100vh;display:grid;place-items:center;padding:2.5rem 1.5rem;background:radial-gradient(circle at 18% 12%,rgba(37,99,235,.08),transparent 32%),radial-gradient(circle at 82% 0%,rgba(16,185,129,.06),transparent 28%),#f8fafc}.login-card[data-v-32ec0513]{width:min(420px,92vw);border-radius:22px;padding:2.25rem 2.15rem;background:#fff;border:1px solid var(--border);box-shadow:0 22px 50px #0f172a1f}.login-brand[data-v-32ec0513]{display:flex;gap:.85rem;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.login-icon-logo[data-v-32ec0513]{width:28px;height:28px;object-fit:contain;display:block;filter:brightness(0)}.login-icon[data-v-32ec0513]{height:44px;width:44px;border-radius:12px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-style:normal;font-weight:900;font-size:.85rem;color:#dc2626;background:transparent;border:none;flex-shrink:0}.login-title[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:900;letter-spacing:.05em;-webkit-text-stroke:.3px currentColor;color:var(--text-strong, #0f172a);margin:0;line-height:1.2}.login-sub[data-v-32ec0513]{margin:.25rem 0 0;font-family:Space Grotesk,sans-serif;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#94a3b8;font-weight:700}.login-copy[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-size:.82rem;letter-spacing:.03em;line-height:1.65;margin:0 0 1.5rem;color:#64748b}.access-denied-card .login-copy[data-v-32ec0513]{margin-bottom:0}.login-form[data-v-32ec0513]{display:grid;gap:1rem}.login-label[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#64748b}.login-input[data-v-32ec0513]{width:100%;border-radius:12px;border:1px solid var(--border);padding:.75rem 1rem;font-family:Space Grotesk,sans-serif;font-size:.88rem;letter-spacing:.03em;color:#0f172a;background:#f8fafc;transition:border-color .2s ease,box-shadow .2s ease}.login-input[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;background:#fff}.login-otp-block[data-v-32ec0513]{display:grid;gap:.75rem}.login-link[data-v-32ec0513]{background:none;border:none;color:#2563eb;font-family:Space Grotesk,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.04em;padding:0;text-align:left;cursor:pointer}.login-actions[data-v-32ec0513]{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.login-input-group[data-v-32ec0513]{display:grid;gap:.4rem}.login-input-wrap[data-v-32ec0513]{display:flex;align-items:center;border-radius:12px;border:1px solid var(--border);background:#f8fafc;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.login-input-wrap[data-v-32ec0513]:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;background:#fff}.login-input-wrap .login-input[data-v-32ec0513]{border:none;border-radius:0;background:transparent;flex:1;box-shadow:none;padding:.75rem 1rem}.login-input-wrap .login-input[data-v-32ec0513]:focus{outline:none;border:none;box-shadow:none;background:transparent}.login-input-btn[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid var(--border);padding:0 .85rem;cursor:pointer;color:var(--btn-primary-bg);height:100%;flex-shrink:0;transition:opacity .2s ease}.login-input-btn[data-v-32ec0513]:hover{opacity:.7}.login-input-btn[data-v-32ec0513]:disabled{opacity:.4;cursor:not-allowed}.login-input-btn.secondary[data-v-32ec0513]{color:#64748b}.login-input-btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.login-input-btn .icon-spinner[data-v-32ec0513]{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:icon-spin-32ec0513 .8s linear infinite}.page-shell[data-v-32ec0513]{display:grid;grid-template-columns:220px 1fr;grid-template-rows:1fr 20px;gap:0;margin:0;padding:0;height:100vh;max-height:100vh;border-radius:0;overflow:hidden;border:none;box-shadow:none;--scroll-track: transparent;--scroll-thumb: #cbd5e1;background:#fff;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);--btn-primary-bg: #2563eb;--btn-primary-hover: #1d4ed8;--btn-primary-text: #ffffff;--btn-dark-bg: #0f172a;--btn-dark-hover: #1e293b;--btn-dark-text: #ffffff;--btn-ghost-bg: #ffffff;--btn-ghost-hover: #f1f5f9;--btn-ghost-text: #0f172a;--btn-ghost-border: #e2e8f0;--btn-muted-text: #0f172a;--btn-muted-hover-bg: #f1f5f9;--btn-muted-hover-text: #0f172a;--btn-danger-bg: #fef2f2;--btn-danger-hover: #fee2e2;--btn-danger-text: #dc2626;--btn-danger-border: #fecaca;--btn-success-hover-text: #16a34a;--btn-success-hover-bg: #f0fdf4;--btn-trigger-bg: #f9fafb;--btn-trigger-hover-bg: #ffffff;--btn-trigger-hover-border: #93c5fd}.page-shell.invoice-active[data-v-32ec0513]{background:#fff}.page-shell.collapsed[data-v-32ec0513]{grid-template-columns:78px 1fr}.page-shell.dark[data-v-32ec0513]{--text-strong: #e5e7eb;--text-muted: #cbd5e1;--bg: #0f172a;--bg-soft: #1e293b;--border: #162032;--bg-card: #0f172a;--scroll-track: transparent;--scroll-thumb: #94a3b8;background:#0f172a;border-color:var(--border);box-shadow:none;--btn-ghost-bg: #1a2540;--btn-ghost-hover: #1e2e48;--btn-ghost-text: #e5e7eb;--btn-muted-text: #94a3b8;--btn-muted-hover-bg: rgba(255,255,255,.07);--btn-muted-hover-text: #e5e7eb;--btn-trigger-bg: #111c30;--btn-trigger-hover-bg: #1a2540;--btn-trigger-hover-border: #3b82f6}.page-shell.dark[data-v-32ec0513],.page-shell.dark .main[data-v-32ec0513]{color:#e5e7eb}.sidebar[data-v-32ec0513]{grid-row:1 / -1;background:#1e293b;border:none;border-right:1px solid rgba(255,255,255,.06);border-radius:0;padding:.8rem;box-shadow:none;display:flex;flex-direction:column;gap:.75rem;position:relative;height:100%;max-height:100vh;overflow-x:clip;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.sidebar.collapsed[data-v-32ec0513]{padding:.5rem;align-items:center}.page-shell.dark .sidebar[data-v-32ec0513]{background:#131f35;border-right-color:var(--border);color:#e5e7eb}.brand[data-v-32ec0513]{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:.25rem .5rem 0}.brand-logo[data-v-32ec0513]{height:36px;width:auto;max-width:80px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1)}.page-shell.dark .brand-logo[data-v-32ec0513]{filter:brightness(0) invert(1)}.brand-divider-line[data-v-32ec0513]{display:block;width:1px;height:24px;background:#e2e8f0;flex-shrink:0;border-radius:1px}.page-shell.dark .brand-divider-line[data-v-32ec0513]{background:#1e293b}.brand-org-logo[data-v-32ec0513]{height:36px!important;width:auto!important;max-width:80px!important;max-height:36px!important;object-fit:contain;flex-shrink:0;display:block}.brand-icon[data-v-32ec0513]{display:grid;place-items:center;flex-shrink:0;font-family:Space Grotesk,sans-serif;font-style:normal;font-size:.8rem;font-weight:900;color:#dc2626;background:linear-gradient(135deg,#f9731626,#fb923c14);border:1.5px solid rgba(249,115,22,.5);border-radius:7px;width:30px;height:30px;min-width:30px;min-height:30px;padding:5px;line-height:1;text-align:center}.brand-icon-text[data-v-32ec0513]{display:flex;flex-direction:row;align-items:baseline;align-self:center;gap:4px;white-space:nowrap}.brand-name-main[data-v-32ec0513],.brand-name-sub[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-style:normal;font-weight:900;font-size:.8rem;color:var(--text-strong);line-height:1;-webkit-text-stroke:.3px currentColor;letter-spacing:.15em}.brand-letter[data-v-32ec0513]{color:var(--text-strong);font-weight:400;font-size:1rem;line-height:1;-webkit-text-stroke:.3px currentColor}.brand-name[data-v-32ec0513]{font-size:.92rem;font-weight:700;color:#ffffffe6;line-height:1.2}.brand-sub[data-v-32ec0513]{font-size:10px;font-weight:500;color:#f97316;letter-spacing:.04em;text-transform:uppercase;opacity:.8}.page-shell.dark .brand-sub[data-v-32ec0513]{color:#fb923c}.page-shell.collapsed .brand-copy[data-v-32ec0513],.page-shell.collapsed .nav-label[data-v-32ec0513]{display:none}.page-shell.collapsed .brand-icon[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-style:normal;font-weight:900;font-size:1.1rem;color:#dc2626;background:linear-gradient(135deg,#f9731626,#fb923c14);border:1px solid rgba(249,115,22,.5);border-radius:12px;min-width:44px;min-height:44px;width:44px;height:44px;display:grid;place-items:center}.page-shell.collapsed .brand[data-v-32ec0513]{justify-content:center}.nav-group[data-v-32ec0513]{display:grid;gap:.25rem}.nav-section[data-v-32ec0513]{display:grid;gap:.35rem}.nav-section-title[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin:.35rem 0 .1rem;padding:0 .65rem}.page-shell.dark .nav-section-title[data-v-32ec0513]{color:#64748b}.nav-item[data-v-32ec0513]{display:flex;align-items:center;gap:.45rem;padding:.42rem .48rem;border-radius:11px;border:.75px solid transparent;background:transparent;color:#e5e7eb;cursor:pointer;transition:all .2s ease}.page-shell:not(.collapsed) .nav-item[data-v-32ec0513]{width:calc(100% - 2rem);margin-inline:0 auto}.nav-item[data-v-32ec0513]:hover{background:#ffffff0a}.nav-item.active[data-v-32ec0513]{background:transparent;border-color:transparent}.nav-item.active .nav-icon[data-v-32ec0513]{background:linear-gradient(135deg,#60a5fa26,#3b82f61f);border:1px solid rgba(96,165,250,.28);border-radius:7px;width:30px;height:30px;padding:5px}.page-shell.dark .nav-item[data-v-32ec0513]{border-width:.75px;border-color:transparent;background:transparent;color:#e5e7eb}.page-shell.dark .nav-item[data-v-32ec0513]:hover{background:#ffffff0a}.page-shell.dark .nav-item.active[data-v-32ec0513]{background:transparent;border-color:transparent}.page-shell.dark .nav-item.active .nav-icon[data-v-32ec0513]{background:linear-gradient(135deg,#60a5fa26,#3b82f61f);border:1px solid rgba(96,165,250,.28);border-radius:7px;width:30px;height:30px;padding:5px}.nav-icon[data-v-32ec0513]{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#94a3b8;transition:color .2s ease}.nav-icon svg[data-v-32ec0513]{width:16px;height:16px}.nav-label[data-v-32ec0513]{font-family:Space Grotesk,sans-serif;font-size:.93rem;font-weight:600}.nav-item:hover .nav-icon[data-v-32ec0513],.nav-item.active .nav-icon[data-v-32ec0513]{color:#93c5fd}.page-shell.dark .nav-icon[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .nav-item:hover .nav-icon[data-v-32ec0513],.page-shell.dark .nav-item.active .nav-icon[data-v-32ec0513]{color:#93c5fd}.page-shell.collapsed .nav-item[data-v-32ec0513]{justify-content:center;padding:.35rem 0;min-width:44px;min-height:44px;border:1px solid rgba(255,255,255,.08);background:transparent;box-shadow:none;border-radius:12px}.page-shell.collapsed .nav-icon[data-v-32ec0513]{margin:0;width:20px;height:20px;border:0;background:transparent;border-radius:0}.page-shell.collapsed .nav-icon svg[data-v-32ec0513]{width:18px;height:18px}.page-shell.collapsed .nav-item[data-v-32ec0513]:hover,.page-shell.collapsed .nav-item.active[data-v-32ec0513]{border-color:#ffffff14}.page-shell.collapsed .nav-item[data-v-32ec0513]:hover{background:#ffffff0a}.page-shell.collapsed .nav-item.active[data-v-32ec0513]{background:#3b82f61f;border-color:#60a5fa59}.page-shell.collapsed .nav-item.active .nav-icon[data-v-32ec0513],.page-shell.dark.page-shell.collapsed .nav-item.active .nav-icon[data-v-32ec0513]{color:#93c5fd;background:none;border:none;width:20px;height:20px;padding:0;border-radius:0}.page-shell.dark.page-shell.collapsed .nav-item[data-v-32ec0513]{background:transparent;border-color:var(--border)}.page-shell.dark.page-shell.collapsed .nav-item[data-v-32ec0513]:hover{background:#ffffff0a}.page-shell.dark.page-shell.collapsed .nav-item.active[data-v-32ec0513]{background:#3b82f61f;border-color:#60a5fa59}.page-shell.collapsed .nav-section-title[data-v-32ec0513]{display:none}.collapse-icon[data-v-32ec0513]{width:16px;height:16px}.brand-divider[data-v-32ec0513]{border-top:1px solid rgba(255,255,255,.08);margin:0 1.5rem .4rem}.sidebar-footer[data-v-32ec0513]{margin-top:auto;display:flex;justify-content:center;padding-top:.4rem;border-top:none;position:relative}.sidebar-footer[data-v-32ec0513]:before{content:"";position:absolute;top:0;left:1.5rem;right:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.sidebar-toggle-btn[data-v-32ec0513]{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:.4rem .6rem;border-radius:8px;font-size:.85rem;font-weight:500;font-family:inherit;transition:background .15s,color .15s}.sidebar-toggle-btn[data-v-32ec0513]:hover{background:#ffffff0f;color:#e5e7eb}.sidebar-toggle-label[data-v-32ec0513]{white-space:nowrap}.page-shell.collapsed .sidebar-toggle-label[data-v-32ec0513]{display:none}.collapse-toggle[data-v-32ec0513]{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#ffffff73;color:var(--text-strong);cursor:pointer;font-weight:800;box-shadow:none;transition:background .2s ease,border-color .2s ease}.collapse-toggle[data-v-32ec0513]:hover{background:var(--bg-soft)}.theme-toggle[data-v-32ec0513]{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#ffffff73;cursor:pointer;box-shadow:none;transition:background .2s ease,border-color .2s ease;display:grid;place-items:center;color:#334155}.theme-toggle[data-v-32ec0513]:hover{background:var(--bg-soft)}.theme-toggle[data-v-32ec0513]:disabled{cursor:wait;opacity:.75}.theme-toggle .icon-spinner[data-v-32ec0513]{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:icon-spin-32ec0513 .8s linear infinite}.sidebar-footer[data-v-32ec0513]{gap:.5rem}.page-shell.collapsed .sidebar-footer[data-v-32ec0513]{flex-direction:column;gap:.4rem}.page-shell.collapsed .collapse-toggle[data-v-32ec0513],.page-shell.collapsed .theme-toggle[data-v-32ec0513],.page-shell.collapsed .logout-toggle[data-v-32ec0513]{width:auto;height:auto;min-width:36px;min-height:36px;padding:.25rem 0;border:1px solid var(--border);border-radius:12px;background:#ffffff73;box-shadow:none;display:grid;place-items:center}.page-shell.collapsed .collapse-toggle[data-v-32ec0513],.page-shell.collapsed .theme-toggle[data-v-32ec0513]{color:#64748b}.page-shell.collapsed .logout-toggle[data-v-32ec0513]{border-color:var(--border);color:#b91c1c}.page-shell.collapsed .theme-toggle[data-v-32ec0513]:hover,.page-shell.collapsed .collapse-toggle[data-v-32ec0513]:hover{transform:none;background:var(--bg-soft);color:#2563eb}.page-shell.collapsed .collapse-toggle[data-v-32ec0513]{font-size:11px;font-weight:700}.page-shell.collapsed .theme-icon[data-v-32ec0513]{width:14px;height:14px}.page-shell.dark.page-shell.collapsed .collapse-toggle[data-v-32ec0513],.page-shell.dark.page-shell.collapsed .theme-toggle[data-v-32ec0513],.page-shell.dark.page-shell.collapsed .logout-toggle[data-v-32ec0513]{background:transparent;border-color:var(--border)}.page-shell.dark.page-shell.collapsed .collapse-toggle[data-v-32ec0513],.page-shell.dark.page-shell.collapsed .theme-toggle[data-v-32ec0513]{color:#94a3b8}.page-shell.dark.page-shell.collapsed .theme-toggle[data-v-32ec0513]:hover,.page-shell.dark.page-shell.collapsed .collapse-toggle[data-v-32ec0513]:hover{background:#ffffff0a;color:#93c5fd}.page-shell.dark.page-shell.collapsed .logout-toggle[data-v-32ec0513]{border-color:#7f1d1d;background:transparent;color:#fecaca}.page-shell.dark .theme-toggle[data-v-32ec0513]{background:transparent;border-width:.75px;border-color:#94a3b83d;color:#e5e7eb;box-shadow:none}.page-shell.dark .collapse-toggle[data-v-32ec0513]{background:transparent;border-width:.75px;border-color:#94a3b83d;color:#e5e7eb}.page-shell.dark .theme-toggle[data-v-32ec0513]:hover,.page-shell.dark .collapse-toggle[data-v-32ec0513]:hover{background:#ffffff0a}.logout-toggle[data-v-32ec0513]{border-color:#fecaca;background:#fff1f2b3;color:#b91c1c}.page-shell.dark .logout-toggle[data-v-32ec0513]{border-width:.75px;border-color:#ef444459;background:transparent;color:#fecaca}.theme-icon[data-v-32ec0513]{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.sidebar-card[data-v-32ec0513]{border:1px solid var(--border);background:linear-gradient(135deg,#2563eb0d,#38bdf80f);border-radius:14px;padding:1rem;box-shadow:0 10px 30px #2563eb14}.sidebar-title[data-v-32ec0513]{font-weight:700;color:var(--text-strong)}.sidebar-text[data-v-32ec0513]{color:var(--text-muted);font-size:13px;margin:.35rem 0 .75rem}.sidebar-btn[data-v-32ec0513]{width:100%;padding:.65rem .9rem;border-radius:12px;border:none;background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease;box-shadow:0 10px 24px #2563eb40}.sidebar-btn[data-v-32ec0513]:hover{transform:translateY(-1px)}.logout-btn[data-v-32ec0513]{width:100%;padding:.55rem .8rem;border-radius:12px;border:1px solid var(--btn-danger-border);background:var(--btn-danger-bg);color:var(--btn-danger-text);font-weight:700;cursor:pointer}.main[data-v-32ec0513]{position:relative;display:flex;flex-direction:column;gap:1rem;overflow:auto;min-height:0;padding:0 0 .9rem;scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.main.invoice-static[data-v-32ec0513],.main.timesheet-static[data-v-32ec0513],.main.employees-static[data-v-32ec0513],.main.unlabel-static[data-v-32ec0513]{padding:0;gap:0;overflow:hidden;scrollbar-gutter:auto}.main.unlabel-static .unlabel-panel[data-v-32ec0513]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:10px 16px 0!important;background:#fff;border:none!important;box-shadow:none!important}.page-shell.dark .main.unlabel-static .unlabel-panel[data-v-32ec0513]{background:#0f172a}.main.notifications-static[data-v-32ec0513]{padding:0;gap:0;overflow:hidden;scrollbar-gutter:auto}.main.notifications-static .notifications-panel[data-v-32ec0513]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:10px 16px 0!important;background:#fff;border:none!important;box-shadow:none!important}.page-shell.dark .main.notifications-static .notifications-panel[data-v-32ec0513]{background:#0f172a}.notifications-page-tabs[data-v-32ec0513]{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--border);flex-shrink:0;padding:0 1rem}.notifications-page-reload[data-v-32ec0513]{margin-left:auto;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;color:var(--text-muted);transition:color .15s}.notifications-page-reload[data-v-32ec0513]:hover{color:var(--text-strong)}.notifications-page-reload[data-v-32ec0513]:disabled{cursor:default;opacity:.6}.notifications-page-reload .icon-spinner[data-v-32ec0513]{width:15px;height:15px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:icon-spin-32ec0513 .8s linear infinite}.notifications-page-reload .icon-svg[data-v-32ec0513]{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.notifications-page-tab[data-v-32ec0513]{display:flex;align-items:center;gap:.4rem;padding:.65rem 1rem;font-size:12px;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.notifications-page-tab[data-v-32ec0513]:hover{color:var(--text-strong)}.notifications-page-tab.active[data-v-32ec0513]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.notifications-page-tab .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.notifications-page-tab-badge[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);border-radius:9px}.notifications-page-tab.active .notifications-page-tab-badge[data-v-32ec0513]{background:var(--accent);color:#fff}.notifications-page-body[data-v-32ec0513]{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr);gap:0;overflow:hidden;padding-top:12px}.notifications-page-sidebar[data-v-32ec0513]{display:flex;flex-direction:column;gap:8px;padding-right:20px;border-right:1px solid var(--border);min-height:0;overflow:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.notifications-page-sidebar .dashboard-project-sidebar-list[data-v-32ec0513]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.notifications-page-sidebar .dashboard-project-sidebar-item[data-v-32ec0513]{white-space:normal;overflow:visible;align-items:flex-start;padding:4px 6px}.notifications-page-sidebar .dashboard-project-sidebar-label[data-v-32ec0513]{white-space:normal;word-break:break-word;font-size:12px;line-height:1.35}.page-shell.dark .notifications-page-sidebar[data-v-32ec0513]{border-right-color:var(--border)}.notifications-page-content[data-v-32ec0513]{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-left:16px}.notifications-page-table-wrap[data-v-32ec0513]{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.notifications-page-table-wrap[data-v-32ec0513]:has(.jobs-status-menu-new){overflow:visible}.notifications-page-table thead th[data-v-32ec0513]{position:sticky;top:0;z-index:2;background:#f8fafc;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.page-shell.dark .notifications-page-table thead th[data-v-32ec0513]{background:#0f172a;color:#94a3b8}.notifications-archive-section[data-v-32ec0513]{margin-bottom:24px}.notifications-archive-subtabs[data-v-32ec0513]{display:flex;align-items:center;gap:2px;padding:8px 12px 0;border-bottom:1px solid var(--border);margin-bottom:0}.notifications-archive-section-header[data-v-32ec0513]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:6px 0 8px;border-bottom:2px solid var(--border);margin-bottom:4px}.notifications-archive-empty[data-v-32ec0513]{font-size:13px;color:var(--text-muted);padding:12px 4px}.notifications-page-row[data-v-32ec0513]{cursor:pointer}.notifications-page-table .notifications-page-row td[data-v-32ec0513]{height:56px}.notifications-page-table th.actions[data-v-32ec0513],.notifications-page-table td.actions[data-v-32ec0513]{width:auto!important;min-width:0!important;max-width:none!important;text-align:right;overflow:visible}.notifications-page-table td.actions .history-actions[data-v-32ec0513]{flex-wrap:nowrap;gap:2px}.notifications-inline-row td[data-v-32ec0513]{padding:0!important;border-bottom:1px solid var(--border);background:#f8fafc}.page-shell.dark .notifications-inline-row td[data-v-32ec0513]{background:#1a2537}.notifications-inline-detail[data-v-32ec0513]{padding:.75rem 1.2rem}.notifications-inline-card[data-v-32ec0513]{box-shadow:none!important;border:1px solid var(--border)!important;border-radius:8px;margin:0}.notifications-page-ts-header[data-v-32ec0513]{display:flex;align-items:center;gap:.5rem;padding:0 0 10px;border-bottom:1px solid var(--border);flex-shrink:0}.notifications-page-ts-header .job-detail-panel-header-actions[data-v-32ec0513]{display:flex;align-items:center;gap:4px;margin-left:auto}.notifications-page-ts-header .pill-btn[data-v-32ec0513]{background:transparent!important;border:none!important;box-shadow:none!important;padding:4px!important;width:auto!important;height:auto!important;color:var(--text-strong);transform:none!important}.notifications-page-ts-header .pill-btn[data-v-32ec0513]:hover{color:var(--btn-primary-bg)!important;background:var(--btn-muted-hover-bg)!important;box-shadow:none!important}.notifications-page-ts-title[data-v-32ec0513]{font-size:14px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifications-page-ts-body[data-v-32ec0513]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:8px}.notif-ts-state[data-v-32ec0513]{padding:1rem;color:#64748b;font-size:13px;display:flex;align-items:center;gap:.5rem}.notif-ts-state.error[data-v-32ec0513]{color:#ef4444}.notif-ts-table-wrap[data-v-32ec0513]{overflow-x:auto}.notif-ts-table[data-v-32ec0513]{width:100%;font-size:13px}.notifications-inline-fields[data-v-32ec0513]{display:flex;gap:2rem;flex:1;flex-wrap:wrap}.notifications-inline-field[data-v-32ec0513]{display:flex;flex-direction:column;gap:2px}.notifications-inline-label[data-v-32ec0513]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.notifications-inline-value[data-v-32ec0513]{font-size:13px;color:#0f172a}.page-shell.dark .notifications-inline-value[data-v-32ec0513]{color:#e2e8f0}.notifications-inline-actions[data-v-32ec0513]{flex-shrink:0}.card-title-badge[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;background:var(--accent);color:#fff;border-radius:10px;margin-left:.5rem}.sidebar-alerts-btn[data-v-32ec0513]{position:relative}.sidebar-alerts-btn.active[data-v-32ec0513]{color:var(--accent)}.main.jobs-static[data-v-32ec0513]{padding:0;gap:0;overflow:hidden;height:100%;min-height:0;scrollbar-gutter:auto}.main.jobs-static .jobs-card[data-v-32ec0513]{flex:1;min-height:0;padding:10px 16px 0}.main.invoice-static .invoice-panel[data-v-32ec0513]{flex:1;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column;padding:10px 16px 0!important;background:#fff;border:none!important;box-shadow:none!important}.main.timesheet-static .timesheet-layout[data-v-32ec0513]{display:flex;flex-direction:column;flex:1;min-height:0;padding:0;gap:0}.main.timesheet-static .timesheet-detail-panel[data-v-32ec0513]{flex:1;min-height:0;overflow:hidden}.main.employees-static .employees-list-panel[data-v-32ec0513]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:10px 16px 0!important;background:#fff;border:none!important;box-shadow:none!important}.page-shell.dark .main.employees-static .employees-list-panel[data-v-32ec0513],.page-shell.dark .employee-add-inline[data-v-32ec0513]{background:#0f172a}.app-navbar[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;height:52px;border-bottom:1px solid var(--border);background:#fff;flex-shrink:0}.app-navbar-title[data-v-32ec0513]{font-size:15px;font-weight:600;color:#0f172a;letter-spacing:-.01em}.app-navbar-org[data-v-32ec0513]{font-size:12px;color:#94a3b8;font-weight:500}.app-navbar-left[data-v-32ec0513]{display:flex;align-items:center;gap:10px}.app-navbar-right[data-v-32ec0513]{display:flex;align-items:center;gap:6px}.navbar-menu-btn[data-v-32ec0513]{display:none!important}@media(max-width:768px){.navbar-menu-btn[data-v-32ec0513]{display:flex!important}}.history-page[data-v-32ec0513]{padding:0;display:flex;flex-direction:column;height:100%;overflow:hidden;margin:-.9rem -.95rem}.history-head[data-v-32ec0513]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.history-title[data-v-32ec0513]{font-size:1rem;font-weight:700;color:var(--text-strong);margin:0 0 2px}.history-subtitle[data-v-32ec0513]{font-size:12px;color:#94a3b8;margin:0}.history-filters[data-v-32ec0513]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-dropdown-wrap[data-v-32ec0513]{position:relative}.history-dropdown-trigger[data-v-32ec0513]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:0 12px;height:32px;font-size:12px;font-weight:500;font-family:inherit;background:var(--btn-ghost-bg);color:var(--text-strong);cursor:pointer;outline:none;white-space:nowrap;transition:border-color .15s,box-shadow .15s;min-width:120px;justify-content:space-between}.history-dropdown-trigger[data-v-32ec0513]:hover{border-color:var(--btn-trigger-hover-border)}.history-dropdown-trigger[data-v-32ec0513]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.history-dropdown-menu[data-v-32ec0513]{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 8px 24px #0f172a1f;z-index:200;display:flex;flex-direction:column;gap:1px}.history-dropdown-option[data-v-32ec0513]{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:7px;padding:7px 10px;font-size:12px;font-weight:500;font-family:inherit;color:var(--text-strong);cursor:pointer;transition:background .1s;white-space:nowrap}.history-dropdown-option[data-v-32ec0513]:hover{background:#f1f5f9}.history-dropdown-option.active[data-v-32ec0513]{background:#eff6ff;color:#2563eb;font-weight:600}.page-shell.dark .history-dropdown-menu[data-v-32ec0513]{background:#1e293b;border-color:#ffffff1a;box-shadow:0 8px 24px #0006}.page-shell.dark .history-dropdown-option[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .history-dropdown-option[data-v-32ec0513]:hover{background:#ffffff0f}.page-shell.dark .history-dropdown-option.active[data-v-32ec0513]{background:#2563eb33;color:#93c5fd}.history-loading[data-v-32ec0513]{display:flex;align-items:center;gap:8px;padding:2rem;color:#94a3b8;font-size:13px}.history-empty[data-v-32ec0513]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:3rem;color:#94a3b8}.history-empty p[data-v-32ec0513]{margin:0;font-size:13px}.history-timeline[data-v-32ec0513]{flex:1;overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:0;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}.history-timeline[data-v-32ec0513]::-webkit-scrollbar{width:6px}.history-timeline[data-v-32ec0513]::-webkit-scrollbar-track{background:transparent}.history-timeline[data-v-32ec0513]::-webkit-scrollbar-thumb{background:var(--scroll-thumb, #cbd5e1);border-radius:999px}.history-timeline[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-shell.dark .history-timeline[data-v-32ec0513]::-webkit-scrollbar-thumb{background:#475569}.page-shell.dark .history-timeline[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#64748b}.history-entry[data-v-32ec0513]{display:flex;gap:12px;position:relative;padding-bottom:1.25rem}.history-entry[data-v-32ec0513]:not(:last-child):before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:1px;background:var(--border)}.history-entry-dot[data-v-32ec0513]{width:13px;height:13px;border-radius:50%;flex-shrink:0;margin-top:3px;border:2px solid #fff;box-shadow:0 0 0 1px var(--border)}.history-entry-dot.action-created[data-v-32ec0513]{background:#22c55e}.history-entry-dot.action-updated[data-v-32ec0513]{background:#3b82f6}.history-entry-dot.action-deleted[data-v-32ec0513]{background:#ef4444}.history-entry-dot.action-archived[data-v-32ec0513]{background:#f59e0b}.history-entry-dot.action-restored[data-v-32ec0513]{background:#8b5cf6}.history-entry-dot.action-system[data-v-32ec0513]{background:#94a3b8}.history-entry-body[data-v-32ec0513]{flex:1;min-width:0}.history-entry-head[data-v-32ec0513]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}.history-entry-action[data-v-32ec0513]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:20px}.action-badge-created[data-v-32ec0513]{background:#dcfce7;color:#16a34a}.action-badge-updated[data-v-32ec0513]{background:#dbeafe;color:#1d4ed8}.action-badge-deleted[data-v-32ec0513]{background:#fee2e2;color:#dc2626}.action-badge-archived[data-v-32ec0513]{background:#fef3c7;color:#d97706}.action-badge-restored[data-v-32ec0513]{background:#ede9fe;color:#7c3aed}.action-badge-system[data-v-32ec0513]{background:#f1f5f9;color:#64748b}.history-entry-entity[data-v-32ec0513]{font-size:12px;font-weight:600;color:var(--text-strong);text-transform:capitalize}.history-entry-label[data-v-32ec0513]{font-size:12px;color:#64748b}.history-entry-desc[data-v-32ec0513]{font-size:12px;color:#475569;margin:0 0 6px}.history-entry-changes[data-v-32ec0513]{background:#f8fafc;border:1px solid var(--border);border-radius:6px;padding:6px 10px;margin-bottom:6px;display:flex;flex-direction:column;gap:4px}.history-change-row[data-v-32ec0513]{display:flex;align-items:center;gap:6px;font-size:11px}.history-change-field[data-v-32ec0513]{font-weight:600;color:#475569;min-width:80px}.history-change-old[data-v-32ec0513]{color:#ef4444;text-decoration:line-through;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-change-new[data-v-32ec0513]{color:#16a34a;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-change-more[data-v-32ec0513]{font-size:11px;color:#94a3b8;margin:2px 0 0}.page-shell.dark .history-entry-changes[data-v-32ec0513]{background:#ffffff0a;border-color:#ffffff14}.page-shell.dark .history-change-field[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .history-change-row svg[data-v-32ec0513]{color:#475569}.history-entry-meta[data-v-32ec0513]{display:flex;align-items:center;gap:12px;font-size:11px;color:#94a3b8}.history-entry-who[data-v-32ec0513]{display:flex;align-items:center;gap:4px}.history-entry-role[data-v-32ec0513]{background:#f1f5f9;color:#64748b;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600;text-transform:uppercase}.history-entry-time[data-v-32ec0513]{margin-left:auto}.history-load-more[data-v-32ec0513]{display:flex;justify-content:center;padding:1rem 0}.history-load-more-btn[data-v-32ec0513]{width:36px!important;height:36px!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;background:transparent!important;border-color:transparent!important}.history-load-more-btn[data-v-32ec0513]:hover:not(:disabled){background:#eff6ff!important;border:none!important;color:#2563eb!important}.page-shell.dark .history-load-more-btn[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;border:none!important;color:#93c5fd!important}.app-footer[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem 0 .75rem;height:20px;background:#fff;border-top:1px solid var(--border);flex-shrink:0;color:#94a3b8;font-size:11px;font-weight:500;grid-column:2 / -1;position:relative;z-index:10}.app-footer-left[data-v-32ec0513]{opacity:.75;letter-spacing:.01em;color:#94a3b8}.app-footer-links[data-v-32ec0513]{display:flex;align-items:center;gap:6px}.app-footer-link[data-v-32ec0513]{background:none;border:none;padding:0;cursor:pointer;color:#94a3b8;font-size:11px;text-decoration:none;opacity:.75;transition:opacity .15s;font-family:inherit}.app-footer-link[data-v-32ec0513]:hover{opacity:1;text-decoration:underline}.app-footer-sep[data-v-32ec0513]{color:#cbd5e1;font-size:10px}.app-footer-sync[data-v-32ec0513]{display:flex;align-items:center;gap:5px;background:transparent;border:none;border-radius:6px;color:#94a3b8;font-size:11px;font-weight:500;padding:1px 6px 1px 5px;cursor:pointer;transition:background .15s;font-family:inherit}.app-footer-sync[data-v-32ec0513]:hover{background:#e2e8f0;color:#475569}.app-footer-sync svg[data-v-32ec0513]{flex-shrink:0}.app-footer-sync.spinning svg[data-v-32ec0513]{animation:spin-32ec0513 1s linear infinite}@keyframes spin-32ec0513{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-loading-screen[data-v-32ec0513]{position:fixed;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;z-index:99998}.app-loading-content[data-v-32ec0513]{display:flex;flex-direction:column;align-items:center;gap:24px}.app-loading-logo[data-v-32ec0513]{height:48px;width:auto;opacity:.9;filter:invert(1)}.app-loading-screen.dark .app-loading-logo[data-v-32ec0513]{filter:none}.app-loading-spinner[data-v-32ec0513]{width:160px;height:3px;background:#f1f5f9;border-radius:99px;overflow:hidden}.app-loading-bar[data-v-32ec0513]{height:100%;width:40%;background:#2563eb;border-radius:99px;animation:loadingSlide-32ec0513 1.2s ease-in-out infinite}@keyframes loadingSlide-32ec0513{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(350%)}}.app-loading-text[data-v-32ec0513]{font-size:13px;color:#94a3b8;font-weight:500;letter-spacing:.01em}.app-loading-screen.dark[data-v-32ec0513]{background:#0f172a}.app-loading-screen.dark .app-loading-spinner[data-v-32ec0513]{background:#1e293b}.app-loading-screen.dark .app-loading-text[data-v-32ec0513]{color:#475569}.mobile-block-overlay[data-v-32ec0513]{display:none;position:fixed;inset:0;z-index:99999;background:#fff;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.mobile-block-logo[data-v-32ec0513]{height:48px;width:auto;opacity:.8}.mobile-block-title[data-v-32ec0513]{font-size:22px;font-weight:700;color:#0f172a;margin:0}.mobile-block-desc[data-v-32ec0513]{font-size:14px;color:#64748b;line-height:1.7;margin:0}@media(max-width:1024px){.mobile-block-overlay[data-v-32ec0513]{display:flex}.page-shell[data-v-32ec0513]{display:none!important}}.navbar-icon-btn[data-v-32ec0513]{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;background:transparent;border-radius:8px;color:var(--btn-muted-text);cursor:pointer;transition:background .15s,color .15s}.navbar-icon-btn[data-v-32ec0513]:hover{background:#eff6ff;color:#2563eb}.page-shell.dark .navbar-icon-btn[data-v-32ec0513]:hover{background:#2563eb26;color:#93c5fd}.navbar-icon-btn.active[data-v-32ec0513]{color:#2563eb}.navbar-badge[data-v-32ec0513]{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px}.navbar-profile-wrap[data-v-32ec0513]{position:relative}.navbar-profile-btn[data-v-32ec0513]{width:40px;height:40px;border-radius:8px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;transition:background .15s}.navbar-profile-btn[data-v-32ec0513]:hover{background:#eff6ff}.page-shell.dark .navbar-profile-btn[data-v-32ec0513]:hover{background:#2563eb26}.navbar-profile-logo[data-v-32ec0513]{width:40px;height:40px;object-fit:fill;display:block}.navbar-profile-initials[data-v-32ec0513]{font-size:16px;font-weight:700;color:#475569}.navbar-profile-dropdown[data-v-32ec0513]{position:fixed;width:200px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0f172a1a;z-index:9999;overflow:hidden}.navbar-profile-header[data-v-32ec0513]{padding:12px 14px 10px;display:flex;flex-direction:column;gap:2px}.navbar-profile-orgname[data-v-32ec0513]{font-size:13px;font-weight:600;color:#0f172a}.navbar-profile-plan[data-v-32ec0513]{font-size:11px;font-weight:600;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}.navbar-profile-divider[data-v-32ec0513]{height:1px;background:var(--border);margin:0}.navbar-profile-item[data-v-32ec0513]{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;background:transparent;font-size:13px;color:#374151;cursor:pointer;text-align:left;font-family:inherit;transition:background .12s}.navbar-profile-item[data-v-32ec0513]:hover{background:#f8fafc}.navbar-profile-logout[data-v-32ec0513]{color:#dc2626}.navbar-profile-logout[data-v-32ec0513]:hover{background:#fef2f2}.page-shell.dark .navbar-icon-btn[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .navbar-icon-btn[data-v-32ec0513]:hover{background:#1e293b;color:#f1f5f9}.page-shell.dark .navbar-profile-btn[data-v-32ec0513]{background:#1e293b}.page-shell.dark .navbar-profile-initials[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .navbar-profile-dropdown[data-v-32ec0513]{background:#0f172a;box-shadow:0 8px 24px #0000004d}.page-shell.dark .navbar-profile-orgname[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .navbar-profile-item[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .navbar-profile-item[data-v-32ec0513]:hover{background:#1e293b}.page-shell.dark .navbar-profile-logout[data-v-32ec0513]{color:#f87171}.page-shell.dark .navbar-profile-logout[data-v-32ec0513]:hover{background:#1f1215}.page-shell.dark .app-navbar[data-v-32ec0513]{background:#0f172a;border-bottom-color:#162032}.page-shell.dark .topbar[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .app-navbar-title[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .app-navbar-org[data-v-32ec0513]{color:#475569}.page-shell.dark .app-footer[data-v-32ec0513]{background:#0f172a;border-top-color:#162032;color:#475569}.page-shell.dark .app-footer-left[data-v-32ec0513],.page-shell.dark .app-footer-link[data-v-32ec0513]{color:#475569}.page-shell.dark .app-footer-link[data-v-32ec0513]:hover{color:#94a3b8}.page-shell.dark .app-footer-sep[data-v-32ec0513]{color:#1e293b}.page-shell.dark .app-footer-sync[data-v-32ec0513]{color:#475569}.page-shell.dark .app-footer-sync[data-v-32ec0513]:hover{background:#1e293b;color:#94a3b8}.topbar[data-v-32ec0513]{background:#fff;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:.75rem 1.1rem;box-shadow:0 1px #f1f5f9;display:flex;justify-content:space-between;align-items:center;gap:1rem}.topbar-copy[data-v-32ec0513]{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:40px;text-align:left}.topbar-actions[data-v-32ec0513]{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;min-width:0}.topbar-notifications[data-v-32ec0513]{position:relative}.topbar-notification-trigger[data-v-32ec0513]{position:relative;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:#ffffff73;color:#334155;display:grid;place-items:center;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.topbar-notification-trigger[data-v-32ec0513]:hover{background:var(--btn-ghost-hover);color:#1e293b}.topbar-notification-trigger .icon-svg[data-v-32ec0513]{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.topbar-notification-badge[data-v-32ec0513]{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.topbar-notification-panel[data-v-32ec0513]{position:absolute;bottom:0;left:calc(100% + 10px);width:min(390px,calc(100vw - 48px));max-height:430px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 24px 48px #0f172a29;z-index:80}.topbar-notification-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid var(--border)}.topbar-notification-head.with-back[data-v-32ec0513]{justify-content:flex-start;gap:8px}.topbar-notification-head strong[data-v-32ec0513]{font-size:13px;color:#0f172a}.topbar-notification-back[data-v-32ec0513]{width:26px;height:26px;border-radius:8px;border:1px solid var(--border);background:#f8fafc;color:#334155;display:grid;place-items:center;cursor:pointer;padding:0}.topbar-notification-back .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar-notification-head-btn[data-v-32ec0513]{border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:600;cursor:pointer;padding:0}.topbar-notification-head-btn[data-v-32ec0513]:disabled{color:#94a3b8;cursor:default}.topbar-notification-section[data-v-32ec0513]{padding:8px 12px 12px}.topbar-notification-section-title[data-v-32ec0513]{margin:0 0 8px;font-size:12px;font-weight:700;color:#475569;letter-spacing:.04em;text-transform:uppercase}.topbar-notification-section-title-list[data-v-32ec0513]{margin:10px 12px 0}.topbar-notification-search[data-v-32ec0513]{margin:8px 12px 0;border:1px solid var(--border);border-radius:10px;background:#f8fafc;display:flex;align-items:center;gap:8px;padding:7px 10px}.topbar-notification-search .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:#64748b;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.topbar-notification-search-input[data-v-32ec0513]{width:100%;border:0;outline:none;background:transparent;color:#0f172a;font-size:12px;line-height:1.3}.topbar-notification-search-input[data-v-32ec0513]::placeholder{color:#94a3b8}.topbar-notification-cards[data-v-32ec0513]{margin:0;width:fit-content;max-width:100%;display:grid;grid-template-columns:repeat(2,96px);gap:10px}.topbar-notification-card[data-v-32ec0513]{position:relative;overflow:visible;border:1px solid var(--border);border-radius:14px;background:#f8fafc;color:#334155;cursor:pointer;text-align:center;width:96px;min-height:96px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.topbar-notification-card-badge[data-v-32ec0513]{position:absolute;top:-9px;right:-9px;min-width:20px;height:20px;border-radius:999px;padding:0 6px;background:#ef4444;color:#fff;border:2px solid #fff;font-size:10px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center}.topbar-notification-card-title[data-v-32ec0513]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.topbar-notification-card-symbol[data-v-32ec0513]{width:14px;height:14px;color:#2563eb;display:inline-flex;align-items:center;justify-content:center}.topbar-notification-card-symbol .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.topbar-notification-card-label[data-v-32ec0513]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.topbar-notification-card.active[data-v-32ec0513]{border-color:#3b82f6;background:#eff6ff}.topbar-notification-empty[data-v-32ec0513]{margin:0;padding:14px 12px;color:#64748b;font-size:13px}.topbar-notification-list[data-v-32ec0513]{list-style:none;margin:0;padding:8px;display:grid;gap:8px}.topbar-notification-item[data-v-32ec0513]{border:1px solid var(--border);border-radius:11px;padding:9px 10px;background:#f8fafc;cursor:pointer}.topbar-notification-item.unread[data-v-32ec0513]{border-color:#bfdbfe;background:#eff6ff}.topbar-notification-item-head[data-v-32ec0513]{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.topbar-notification-item-title[data-v-32ec0513]{font-size:12px;font-weight:700;color:#0f172a}.topbar-notification-item-time[data-v-32ec0513]{font-size:11px;color:#94a3b8}.topbar-notification-item-text[data-v-32ec0513]{margin:5px 0 0;font-size:12px;color:#334155;line-height:1.35;word-break:break-word}.topbar-notification-item-meta[data-v-32ec0513]{margin:7px 0 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.topbar-notification-item-amount[data-v-32ec0513]{font-size:12px;font-weight:700;color:#0f172a}.topbar-notification-item-tag[data-v-32ec0513]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#1d4ed8;background:#2563eb1f;border:1px solid rgba(37,99,235,.22);border-radius:999px;padding:2px 7px}.topbar-notification-item.success[data-v-32ec0513]{border-left:3px solid #16a34a}.topbar-notification-item.error[data-v-32ec0513]{border-left:3px solid #dc2626}.topbar-notification-item.warning[data-v-32ec0513]{border-left:3px solid #d97706}.topbar-notification-item.info[data-v-32ec0513]{border-left:3px solid #2563eb}.global-toast-stack[data-v-32ec0513]{position:fixed;top:16px;right:18px;z-index:100;width:min(360px,calc(100vw - 24px));display:grid;gap:10px;pointer-events:none}.global-toast[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 18px 34px #0f172a2b;padding:10px 12px;pointer-events:auto}.global-toast-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:10px}.global-toast-head strong[data-v-32ec0513]{font-size:12px;color:#0f172a}.global-toast-text[data-v-32ec0513]{margin:6px 0 0;font-size:12px;color:#334155;line-height:1.35;word-break:break-word}.global-toast-close[data-v-32ec0513]{width:22px;height:22px;border-radius:8px;border:0;background:transparent;color:#64748b;cursor:pointer;display:grid;place-items:center;padding:0}.global-toast-close .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.global-toast.success[data-v-32ec0513]{border-left:3px solid #16a34a}.global-toast.error[data-v-32ec0513]{border-left:3px solid #dc2626}.global-toast.warning[data-v-32ec0513]{border-left:3px solid #d97706}.global-toast.info[data-v-32ec0513]{border-left:3px solid #2563eb}.stats-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.stat-card[data-v-32ec0513]{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}.stat-card[data-v-32ec0513]:after{content:"";position:absolute;inset:-40% 50% auto auto;width:140px;height:140px;background:radial-gradient(circle,rgba(37,99,235,.08),transparent 60%);transform:rotate(-12deg)}.stat-icon[data-v-32ec0513]{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#0f172a;font-weight:700;margin-bottom:.35rem}.stat-icon.blue[data-v-32ec0513]{background:#2563eb1a;color:#1d4ed8}.stat-icon.purple[data-v-32ec0513]{background:#7c3aed14;color:#7c3aed}.stat-icon.green[data-v-32ec0513]{background:#22c55e1a;color:#16a34a}.stat-icon.orange[data-v-32ec0513]{background:#f973161a;color:#ea580c}.stat-label[data-v-32ec0513]{color:var(--text-muted);font-size:13px}.stat-value[data-v-32ec0513]{font-weight:700;font-size:16px;color:var(--text-strong)}.page-shell.dark .topbar[data-v-32ec0513]{background:#0f172a;border-bottom-color:var(--border);color:#e5e7eb;box-shadow:none}.page-shell.dark .stat-card[data-v-32ec0513],.page-shell.dark .card[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb;box-shadow:none}.page-shell.dark .topbar-notification-trigger[data-v-32ec0513]{background:#0b1220;border-color:var(--border);color:#cbd5e1}.page-shell.dark .topbar-notification-trigger[data-v-32ec0513]:hover{border-color:#475569;background:#111b2b;color:#e2e8f0}.page-shell.dark .topbar-notification-badge[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .topbar-notification-panel[data-v-32ec0513]{background:#0b1220;border-color:var(--border);box-shadow:0 26px 52px #020617a6}.page-shell.dark .topbar-notification-head[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .topbar-notification-head strong[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .topbar-notification-back[data-v-32ec0513]{border-color:var(--border);background:#0f172a;color:#cbd5e1}.page-shell.dark .topbar-notification-head-btn[data-v-32ec0513]{color:#93c5fd}.page-shell.dark .topbar-notification-head-btn[data-v-32ec0513]:disabled{color:#64748b}.page-shell.dark .topbar-notification-section-title[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .topbar-notification-search[data-v-32ec0513]{border-color:var(--border);background:#0f172a}.page-shell.dark .topbar-notification-search .icon-svg[data-v-32ec0513]{stroke:#94a3b8}.page-shell.dark .topbar-notification-search-input[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .topbar-notification-search-input[data-v-32ec0513]::placeholder{color:#64748b}.page-shell.dark .topbar-notification-card[data-v-32ec0513]{border-color:var(--border);background:#0f172a;color:#cbd5e1}.page-shell.dark .topbar-notification-card-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .topbar-notification-card-symbol[data-v-32ec0513]{color:#93c5fd}.page-shell.dark .topbar-notification-card-badge[data-v-32ec0513]{border-color:#0b1220}.page-shell.dark .topbar-notification-card.active[data-v-32ec0513]{border-color:#3b82f6;background:#2563eb2b}.page-shell.dark .topbar-notification-empty[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .topbar-notification-item[data-v-32ec0513]{border-color:var(--border);background:#111827}.page-shell.dark .topbar-notification-item.unread[data-v-32ec0513]{border-color:#1d4ed8;background:#2563eb21}.page-shell.dark .topbar-notification-item-title[data-v-32ec0513]{color:#f8fafc}.page-shell.dark .topbar-notification-item-time[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .topbar-notification-item-text[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .topbar-notification-item-amount[data-v-32ec0513]{color:#f8fafc}.page-shell.dark .topbar-notification-item-tag[data-v-32ec0513]{color:#bfdbfe;background:#3b82f633;border-color:#3b82f657}.page-shell.dark .global-toast[data-v-32ec0513]{background:#0b1220;border-color:var(--border);box-shadow:0 24px 46px #020617a8}.page-shell.dark .global-toast-head strong[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .global-toast-text[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .global-toast-close[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .muted[data-v-32ec0513],.page-shell.dark .stat-label[data-v-32ec0513],.page-shell.dark .status-text[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .stat-icon.blue[data-v-32ec0513]{background:#3b82f61f;color:#bfdbfe}.page-shell.dark .stat-icon.purple[data-v-32ec0513]{background:#a855f71f;color:#e9d5ff}.page-shell.dark .stat-icon.green[data-v-32ec0513]{background:#22c55e1f;color:#bbf7d0}.page-shell.dark .stat-icon.orange[data-v-32ec0513]{background:#f973161f;color:#fed7aa}.main-grid[data-v-32ec0513]{display:grid;grid-template-columns:1.2fr .9fr;gap:1rem;align-items:stretch}.card[data-v-32ec0513]{background:#fff;border:none;border-radius:0;padding:.9rem .95rem;box-shadow:none}.converter-card[data-v-32ec0513]{display:flex;flex-direction:column;gap:.75rem;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.progress-card[data-v-32ec0513]{display:flex;flex-direction:column;gap:.75rem;min-height:420px;height:auto;max-height:none;overflow:visible}.history-card[data-v-32ec0513]{margin-top:0;display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0;overflow:hidden;border-radius:22px;border-left:none;border-right:none;background:#fff}.main.workplan-static[data-v-32ec0513]{padding:0;gap:0;margin-left:0;margin-right:0;border-radius:0;overflow:hidden;scrollbar-gutter:auto}.main.workplan-static .history-card[data-v-32ec0513]{padding:10px 16px 0}.main.workplan-static .history-table-grid thead th[data-v-32ec0513]{position:sticky;top:0;z-index:2;background:#f8fafc}.page-shell.dark .main.workplan-static .history-table-grid thead th[data-v-32ec0513]{background:#111827}.main.spending-plan-static[data-v-32ec0513],.main.overhead-cost-static[data-v-32ec0513]{padding:0;gap:0;margin-left:0;margin-right:0;border-radius:0;overflow:hidden;scrollbar-gutter:auto}.history-card .card-head[data-v-32ec0513]{justify-content:space-between;align-items:center;padding:2px 0 12px;margin-bottom:0;border-bottom:1px solid var(--border)}.history-card .card-actions .btn[data-v-32ec0513]{width:28px;height:28px;min-width:28px;background:transparent;border:none;box-shadow:none;color:#64748b;padding:0;border-radius:6px;transition:color .15s}.history-card .card-actions .btn[data-v-32ec0513]:hover{background:var(--btn-muted-hover-bg);color:var(--btn-muted-hover-text)}.history-card .card-actions .btn.primary[data-v-32ec0513]{background:transparent;color:var(--btn-primary-bg);box-shadow:none}.history-card .card-actions .btn.primary[data-v-32ec0513]:hover{background:var(--btn-muted-hover-bg);color:var(--btn-primary-hover)}.history-card .card-actions .btn.primary[data-v-32ec0513]:disabled{color:#93c5fd;box-shadow:none}.history-card .card-actions .btn[data-v-32ec0513]:disabled{color:#cbd5e1}.history-card .card-actions .btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.history-card .card-actions .btn .icon-spinner[data-v-32ec0513]{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;display:inline-block;animation:icon-spin-32ec0513 .8s linear infinite}.history-table.jobs-table[data-v-32ec0513]{flex:1;min-height:0;overflow:auto;border:none;border-radius:0;background:transparent;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;width:100%;padding-right:10px}.history-head[data-v-32ec0513]{align-items:center;gap:.75rem}.workplan-limit-info[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.5rem;padding:0;border:none;background:none;color:#334155;font-size:.76rem;line-height:1.3}.workplan-limit-info.blocked[data-v-32ec0513]{color:#b91c1c}.workplan-limit-badge[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:.1rem .4rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#1e40af;font-weight:700;font-size:.72rem;letter-spacing:.04em}.workplan-limit-info.blocked .workplan-limit-badge[data-v-32ec0513]{border-color:#fca5a5;background:#fee2e2;color:#991b1b}.workplan-limit-copy[data-v-32ec0513]{font-weight:600}.workplan-limit-state[data-v-32ec0513]{color:#64748b;font-weight:400}.history-file[data-v-32ec0513]{flex:1;display:flex;align-items:center;min-height:40px}.history-file .file-chip[data-v-32ec0513]{margin:0;position:relative;padding-right:2.4rem}.workplan-file-chip[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .75rem;border-radius:999px;border:1px solid var(--border);background:#f8fafc;cursor:pointer;font-size:.8rem;color:#0f172a;max-width:260px;transition:border-color .15s,background .15s}.workplan-file-chip[data-v-32ec0513]:hover{border-color:#cbd5e1;background:#f1f5f9}.workplan-file-chip-name[data-v-32ec0513]{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.workplan-file-chip-size[data-v-32ec0513]{color:#94a3b8;font-size:.73rem;white-space:nowrap;flex-shrink:0}.workplan-file-chip-remove[data-v-32ec0513]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:#e2e8f0;color:#64748b;cursor:pointer;padding:0;transition:background .15s,color .15s}.workplan-file-chip-remove[data-v-32ec0513]:hover{background:#fecaca;color:#b91c1c}.workplan-file-chip-remove .icon-svg[data-v-32ec0513]{width:10px;height:10px;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;fill:none}.file-remove[data-v-32ec0513]{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;border:1px solid rgba(148,163,184,.6);background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease,box-shadow .2s ease}.file-remove .icon-svg[data-v-32ec0513]{width:12px;height:12px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.file-chip:hover .file-remove[data-v-32ec0513]{opacity:1;pointer-events:auto}.file-remove[data-v-32ec0513]:hover{transform:translateY(-50%) scale(1.05);box-shadow:0 6px 14px #0f172a2e}.page-shell.dark .file-remove[data-v-32ec0513]{background:#111827;border-color:#94a3b859;color:#e2e8f0}.page-shell.dark .workplan-limit-info[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .workplan-limit-info.blocked[data-v-32ec0513]{color:#fca5a5}.page-shell.dark .workplan-limit-badge[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#93c5fd}.page-shell.dark .workplan-limit-info.blocked .workplan-limit-badge[data-v-32ec0513]{background:#7f1d1d80;border-color:#f8717166;color:#fca5a5}.page-shell.dark .workplan-limit-state[data-v-32ec0513]{color:#64748b}.page-shell.dark .history-card .card-head[data-v-32ec0513]{border-bottom-width:.25px;border-bottom-color:var(--border)}.page-shell.dark .history-table-grid th[data-v-32ec0513]{background:#0f172a;color:#64748b;border-bottom-color:var(--border)}.page-shell.dark .history-table-grid td[data-v-32ec0513]{color:#e2e8f0;border-bottom-color:var(--border)}.page-shell.dark .history-empty-row td[data-v-32ec0513]{border-bottom-color:var(--border)!important}.page-shell.dark .history-table-grid tbody tr:hover td[data-v-32ec0513]{background:#111827}.card-head[data-v-32ec0513]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}.card-actions[data-v-32ec0513]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}.btn[data-v-32ec0513]{border-radius:12px;border:1px solid var(--btn-ghost-border);padding:.65rem 1.1rem;font-weight:700;cursor:pointer;background:var(--btn-ghost-bg);transition:all .2s ease;color:var(--btn-ghost-text)}.btn.icon-only[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:.5rem .8rem}.btn-icon[data-v-32ec0513]{font-size:16px;line-height:1}.btn.icon-only .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.btn.icon-only .icon-spinner[data-v-32ec0513]{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:icon-spin-32ec0513 .8s linear infinite}.btn[data-v-32ec0513]:hover{background:var(--btn-ghost-hover)}.btn.primary[data-v-32ec0513]{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent;box-shadow:0 12px 30px #2563eb40}.btn.primary[data-v-32ec0513]:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.btn.ghost[data-v-32ec0513]{background:var(--btn-ghost-hover)}.card-actions .btn.ghost.icon-only[data-v-32ec0513],.card-head .btn.ghost.icon-only[data-v-32ec0513],.card-actions .btn.ghost.icon-only[data-v-32ec0513]:disabled,.card-head .btn.ghost.icon-only[data-v-32ec0513]:disabled{border:none;background:transparent;box-shadow:none;color:var(--btn-muted-text)}.card-actions .btn.ghost.icon-only[data-v-32ec0513]:hover:not(:disabled),.card-head .btn.ghost.icon-only[data-v-32ec0513]:hover:not(:disabled){border:none;background:var(--btn-muted-hover-bg);box-shadow:none;color:#2563eb}.btn.outline[data-v-32ec0513]{border-color:#c7d2fe;color:#1d4ed8;background:#eef2ff}.btn.danger[data-v-32ec0513]{background:var(--btn-danger-bg);border-color:var(--btn-danger-border);color:var(--btn-danger-text);box-shadow:0 10px 26px #ef444440}.btn.danger[data-v-32ec0513]:hover{background:var(--btn-danger-hover);box-shadow:0 14px 32px #ef444459}.page-shell.dark .btn[data-v-32ec0513]{background:#111827;border-color:var(--border);color:#e5e7eb}.page-shell.dark .btn.ghost[data-v-32ec0513]{background:#0f172a}.page-shell.dark .card-actions .btn.ghost.icon-only[data-v-32ec0513],.page-shell.dark .card-head .btn.ghost.icon-only[data-v-32ec0513],.page-shell.dark .card-actions .btn.ghost.icon-only[data-v-32ec0513]:disabled,.page-shell.dark .card-head .btn.ghost.icon-only[data-v-32ec0513]:disabled{border:none;background:transparent;box-shadow:none;color:#94a3b8}.page-shell.dark .card-actions .btn.ghost.icon-only[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .card-head .btn.ghost.icon-only[data-v-32ec0513]:hover:not(:disabled){border:none;background:transparent;box-shadow:none;color:#fff}.page-shell.dark .btn.outline[data-v-32ec0513]{background:#3b82f61f;border-color:#2563eb;color:#bfdbfe}.page-shell.dark .btn.danger[data-v-32ec0513]{background:#ef4444;border-color:#fb7185;color:#fff;box-shadow:0 12px 30px #ef444499,0 0 0 1px #fb718573}.page-shell.dark .btn.danger[data-v-32ec0513]:hover{background:#f43f5e;box-shadow:0 16px 36px #ef4444bf,0 0 0 1px #fb718599}.upload-area[data-v-32ec0513]{border:1px dashed #cbd5e1;border-radius:16px;padding:.9rem;background:#f8fafc}.page-shell.dark .upload-area[data-v-32ec0513]{background:#111827;border-color:var(--border)}.upload-inner[data-v-32ec0513]{text-align:left;display:grid;gap:.5rem}.upload-badge[data-v-32ec0513]{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#e0e7ff;color:#1d4ed8;font-weight:700;width:fit-content}.page-shell.dark .upload-badge[data-v-32ec0513]{background:#60a5fa26;color:#bfdbfe}.upload-btn[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.2rem;border-radius:12px;background:#fff;border:1px solid var(--border);cursor:pointer;font-weight:700;width:fit-content;color:var(--text-strong)}.page-shell.dark .upload-btn[data-v-32ec0513]{background:var(--bg-card);border-color:var(--border);color:var(--text-strong)}.file-chip[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.5rem;background:#f1f5f9;border:1px solid #cbd5e1;padding:.65rem .85rem;border-radius:12px;width:fit-content}.page-shell.dark .file-chip[data-v-32ec0513]{background:#0b1222;border-color:var(--border)}.file-size[data-v-32ec0513]{color:var(--text-muted);font-size:13px}.status-row[data-v-32ec0513]{margin-top:.65rem;display:flex;align-items:center;gap:.7rem;padding:.65rem .8rem;border:1px solid var(--border);border-radius:12px}.page-shell.dark .status-row[data-v-32ec0513]{border-color:var(--border);background:#0f172a}.status-dot[data-v-32ec0513]{width:12px;height:12px;border-radius:50%;background:#cbd5e1}.status-title[data-v-32ec0513]{font-weight:700}.status-text[data-v-32ec0513]{color:var(--text-muted)}.dot-green[data-v-32ec0513]{background:#22c55e}.dot-yellow[data-v-32ec0513]{background:#f59e0b}.dot-red[data-v-32ec0513]{background:#ef4444}.dot-gray[data-v-32ec0513]{background:#cbd5e1}.downloads[data-v-32ec0513]{margin-top:.65rem}.section-title[data-v-32ec0513]{font-weight:700;margin-bottom:.4rem}.download-list[data-v-32ec0513]{display:flex;flex-wrap:wrap;gap:.4rem}.progress-bar[data-v-32ec0513]{height:12px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);overflow:hidden;margin:.25rem 0 .5rem}.page-shell.dark .progress-bar[data-v-32ec0513]{background:#ffffff14;border-color:#ffffff1f}.progress-fill[data-v-32ec0513]{height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);width:12%;transition:width .35s ease;min-width:4px}.progress-fill[data-state=error][data-v-32ec0513]{background:linear-gradient(90deg,#ef4444,#f97316)}.progress-fill[data-state=uploading][data-v-32ec0513]{background:linear-gradient(90deg,#f59e0b,#f97316)}.progress-fill[data-state=done][data-v-32ec0513]{background:linear-gradient(90deg,#22c55e,#16a34a)}.page-shell.dark .progress-fill[data-v-32ec0513]{background:linear-gradient(90deg,#3b82f6,#2563eb)}.page-shell.dark .progress-fill[data-state=uploading][data-v-32ec0513]{background:linear-gradient(90deg,#60a5fa,#2563eb)}.page-shell.dark .progress-fill[data-state=done][data-v-32ec0513]{background:linear-gradient(90deg,#22c55e,#16a34a)}.page-shell.dark .progress-fill[data-state=error][data-v-32ec0513]{background:linear-gradient(90deg,#f87171,#fb923c)}.progress-meta[data-v-32ec0513]{display:flex;justify-content:space-between;align-items:center}.timeline[data-v-32ec0513]{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.8rem}.timeline li[data-v-32ec0513]{display:grid;grid-template-columns:22px 1fr;gap:.6rem;align-items:center;padding:.8rem .9rem;border-radius:12px;border:1px solid var(--border)}.timeline li .dot[data-v-32ec0513]{width:12px;height:12px;border-radius:50%;background:#cbd5e1}.timeline li.active[data-v-32ec0513]{background:#f8fafc;border-color:#cbd5e1}.timeline li.active .dot[data-v-32ec0513]{background:#22c55e}.page-shell.dark .timeline li[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .timeline li .dot[data-v-32ec0513]{background:#94a3b8}.page-shell.dark .timeline li.active[data-v-32ec0513]{background:#111827;border-color:#2563eb}.page-shell.dark .timeline li.active .dot[data-v-32ec0513]{background:#22c55e}.muted[data-v-32ec0513]{color:var(--text-muted)}.strong[data-v-32ec0513]{font-weight:700;color:var(--text-strong)}.modal[data-v-32ec0513]{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;padding:1.5rem;z-index:40}.invoice-preview-confirm-modal[data-v-32ec0513]{z-index:60}.invoice-preview-confirm-card[data-v-32ec0513]{width:min(720px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.invoice-preview-confirm-card .invoice-preview-confirm-body[data-v-32ec0513]{overflow-y:auto;flex:1;min-height:0}.invoice-preview-confirm-body[data-v-32ec0513]{padding:20px;overflow-y:auto;overflow-x:auto;background:#d1d5db;flex:1;scrollbar-width:thin}.page-shell.dark .invoice-preview-confirm-body[data-v-32ec0513]{background:#0f172a}.invoice-preview-confirm-body[data-v-32ec0513]{padding:24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin;background:#f8fafc}.page-shell.dark .invoice-preview-confirm-body[data-v-32ec0513],.dark .invoice-preview-confirm-body[data-v-32ec0513]{background:#0f172a}.ipc-review-banner[data-v-32ec0513]{display:flex;align-items:flex-start;gap:10px;background:#fefce8;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;font-size:.8rem;color:#92400e;line-height:1.5}.ipc-review-banner svg[data-v-32ec0513]{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:#d97706}.page-shell.dark .ipc-review-banner[data-v-32ec0513],.dark .ipc-review-banner[data-v-32ec0513]{background:#fbbf241a;border-color:#fbbf244d;color:#fcd34d}.page-shell.dark .ipc-review-banner svg[data-v-32ec0513],.dark .ipc-review-banner svg[data-v-32ec0513]{color:#fbbf24}.ipc-section[data-v-32ec0513]{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:visible}.page-shell.dark .ipc-section[data-v-32ec0513],.dark .ipc-section[data-v-32ec0513]{background:#1e293b;border-color:var(--border)}.ipc-section-title[data-v-32ec0513]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#64748b;padding:10px 16px 8px;border-bottom:1px solid var(--border);background:#f8fafc}.page-shell.dark .ipc-section-title[data-v-32ec0513],.dark .ipc-section-title[data-v-32ec0513]{color:#94a3b8;border-bottom-color:var(--border);background:#0f172a}.ipc-row[data-v-32ec0513]{display:flex;align-items:baseline;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border);font-size:.82rem}.ipc-row[data-v-32ec0513]:last-child{border-bottom:none}.page-shell.dark .ipc-row[data-v-32ec0513]{border-bottom-color:var(--border)}.ipc-label[data-v-32ec0513]{color:#64748b;font-weight:600;font-size:.76rem;min-width:140px;flex-shrink:0}.ipc-value[data-v-32ec0513]{color:#0f172a}.page-shell.dark .ipc-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .ipc-value[data-v-32ec0513]{color:#e2e8f0}.ipc-row-total[data-v-32ec0513]{background:#f0fdf4;border-top:1px solid #bbf7d0!important}.ipc-row-total .ipc-label[data-v-32ec0513],.ipc-row-total .ipc-value[data-v-32ec0513]{color:#15803d;font-weight:700;font-size:.84rem}.page-shell.dark .ipc-row-total[data-v-32ec0513]{background:#15803d1f;border-top-color:#15803d4d!important}.page-shell.dark .ipc-row-total .ipc-label[data-v-32ec0513],.page-shell.dark .ipc-row-total .ipc-value[data-v-32ec0513]{color:#4ade80}.ipc-list-table[data-v-32ec0513]{width:100%;border-collapse:collapse;font-size:.78rem}.ipc-list-table th[data-v-32ec0513]{text-align:left;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;padding:8px 16px 7px;border-bottom:1px solid var(--border);background:#f8fafc}.ipc-list-table td[data-v-32ec0513]{padding:7px 16px;border-bottom:1px solid var(--border);color:#0f172a}.ipc-num[data-v-32ec0513]{text-align:right}.ipc-list-total-row td[data-v-32ec0513]{background:#f8fafc;border-top:1px solid var(--border);border-bottom:none;font-size:.8rem;padding:8px 16px}.page-shell.dark .ipc-list-table th[data-v-32ec0513],.dark .ipc-list-table th[data-v-32ec0513]{color:#94a3b8;border-bottom-color:var(--border);background:#0f172a}.page-shell.dark .ipc-list-table td[data-v-32ec0513],.dark .ipc-list-table td[data-v-32ec0513]{color:#e2e8f0;border-bottom-color:var(--border)}.page-shell.dark .ipc-list-total-row td[data-v-32ec0513]{background:#0f172a;border-top-color:var(--border);color:#e2e8f0}.confirm-modal[data-v-32ec0513]{z-index:60}.modal-card[data-v-32ec0513]{background:#fff;border-radius:16px;border:1px solid var(--border);width:min(900px,96vw);max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow)}.page-shell.dark .modal-card[data-v-32ec0513],.dark .modal-card[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.confirm-card[data-v-32ec0513]{width:min(360px,92vw)}.confirm-header[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding:6px 6px 6px 14px!important;border-bottom:1px solid var(--border)}.confirm-title[data-v-32ec0513]{font-size:14px;font-weight:600;color:var(--text-strong)}.modal-header[data-v-32ec0513]{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-body[data-v-32ec0513]{padding:1rem 1.25rem 1.25rem;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.timesheet-export-modal .modal-card[data-v-32ec0513],.timesheet-export-modal .modal-body[data-v-32ec0513]{overflow:visible}.modal-footer[data-v-32ec0513]{padding:.85rem 1.25rem 1.25rem;display:flex;justify-content:flex-end;gap:.65rem}.timesheet-inline-export[data-v-32ec0513]{display:flex;flex-direction:column;flex:1;min-height:0;padding:28px 36px;gap:28px}.timesheet-inline-report[data-v-32ec0513]{padding:16px 0;gap:0}.timesheet-inline-report .timesheet-inline-export-header[data-v-32ec0513]{padding:0 24px 14px}.timesheet-inline-report-title[data-v-32ec0513]{font-size:15px;font-weight:600;color:var(--text-strong)}.timesheet-inline-report-body[data-v-32ec0513]{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.timesheet-inline-preview-body[data-v-32ec0513]{padding:16px 24px;display:flex;flex-direction:column;gap:24px}.timesheet-report-table-wrap[data-v-32ec0513]{border:none!important;border-radius:0!important;height:100%}.timesheet-report-table[data-v-32ec0513]{min-width:unset!important}.timesheet-report-table thead th[data-v-32ec0513]{position:sticky;top:0;z-index:2}.timesheet-report-table td.index[data-v-32ec0513],.timesheet-report-table th.index[data-v-32ec0513]{width:64px;min-width:64px;color:var(--text-muted);font-variant-numeric:tabular-nums}.timesheet-report-table tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#f8fafc}.timesheet-report-table tbody tr:hover td[data-v-32ec0513]{background:#f1f5f9}.timesheet-report-table tbody tr:last-child td[data-v-32ec0513]{border-bottom:none}.page-shell.dark .timesheet-report-table tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#1e293b}.page-shell.dark .timesheet-report-table tbody tr:hover td[data-v-32ec0513]{background:#334155}.timesheet-export-columns[data-v-32ec0513]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;flex:1}.timesheet-export-column[data-v-32ec0513]{display:flex;flex-direction:column;gap:16px;padding:24px 28px;border-right:1px solid var(--border)}.timesheet-export-column[data-v-32ec0513]:first-child{padding-left:0}.timesheet-export-column[data-v-32ec0513]:last-child{border-right:none}.timesheet-export-col-label[data-v-32ec0513]{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.timesheet-export-scope-list[data-v-32ec0513]{display:flex;flex-direction:column;gap:4px}.timesheet-export-scope-item[data-v-32ec0513]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:500;color:#475569;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s}.timesheet-export-scope-item input[type=radio][data-v-32ec0513]{display:none}.timesheet-export-scope-item[data-v-32ec0513]:before{content:"";width:15px;height:15px;border-radius:50%;border:2px solid #cbd5e1;flex-shrink:0;transition:border-color .15s,background .15s;background:#fff}.timesheet-export-scope-item[data-v-32ec0513]:hover{background:#f1f5f9;color:#0f172a}.timesheet-export-scope-item[data-v-32ec0513]:hover:before{border-color:#6366f1}.timesheet-export-scope-item.active[data-v-32ec0513]{background:#eef2ff;border-color:#c7d2fe;color:#4f46e5;font-weight:600}.timesheet-export-scope-item.active[data-v-32ec0513]:before{border-color:#6366f1;background:#6366f1;box-shadow:inset 0 0 0 3px #eef2ff}.timesheet-export-employee-list[data-v-32ec0513]{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;min-height:0}.timesheet-export-dates[data-v-32ec0513]{display:flex;flex-direction:column;gap:16px}.timesheet-export-date-field[data-v-32ec0513]{display:flex;flex-direction:column;gap:6px}.timesheet-export-date-label[data-v-32ec0513]{font-size:12px;font-weight:500;color:var(--text-muted)}.page-shell.dark .timesheet-export-column[data-v-32ec0513]{border-color:var(--border)}.timesheet-inline-export-header[data-v-32ec0513]{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding-bottom:14px}.timesheet-export-download-btn[data-v-32ec0513]{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;padding:0 14px}.timesheet-inline-export-body[data-v-32ec0513]{display:flex;flex-direction:column;gap:24px}.timesheet-inline-export-footer[data-v-32ec0513]{display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--border)}.timesheet-export-grid[data-v-32ec0513]{display:grid;gap:1.25rem}.timesheet-export-field[data-v-32ec0513]{display:grid;gap:.55rem}.timesheet-export-options[data-v-32ec0513]{display:flex;flex-wrap:wrap;gap:.75rem}.timesheet-export-option[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:#0f172a}.timesheet-export-option input[data-v-32ec0513]{accent-color:var(--primary)}.timesheet-export-range[data-v-32ec0513]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.timesheet-export-grid .date-input[data-v-32ec0513]{border-radius:12px;border:1px solid var(--border);padding:.35rem .6rem;min-height:32px;font-size:11px;font-weight:600;background:#f9fafb;color:#0f172a;box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f}.timesheet-export-grid .date-input[data-v-32ec0513]:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e,0 10px 20px #2563eb1f;outline:none}.jobs-history-modal .modal-card[data-v-32ec0513]{width:min(1180px,96vw)}.jobs-history-actions[data-v-32ec0513]{display:flex;gap:.6rem;justify-content:flex-end;margin-bottom:.8rem}.jobs-history-table .jobs-table-grid[data-v-32ec0513]{font-size:.85rem}.jobs-history-table .jobs-table-grid th[data-v-32ec0513],.jobs-history-table .jobs-table-grid td[data-v-32ec0513]{padding:0;height:42px;line-height:42px;vertical-align:middle;white-space:nowrap;padding-left:.75rem;padding-right:.75rem;box-sizing:border-box}.jobs-history-table .jobs-table-grid thead th[data-v-32ec0513]{height:42px;line-height:42px}.jobs-history-table .history-select[data-v-32ec0513]{width:40px;text-align:center}.jobs-history-table th.history-actions[data-v-32ec0513],.jobs-history-table td.jobs-history-field-actions[data-v-32ec0513]{width:120px!important;min-width:120px!important;max-width:120px!important;text-align:right;white-space:nowrap;padding:0 .75rem!important;vertical-align:middle;height:42px;box-sizing:border-box}.jobs-history-field-actions .pill-btn.icon[data-v-32ec0513]{background:none!important;border:none!important;box-shadow:none!important;padding:4px!important;width:auto!important;height:auto!important;color:#64748b;transform:none!important}.jobs-history-field-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){color:#2563eb;background:none!important;transform:none!important}.jobs-history-field-actions .pill-btn.icon[data-v-32ec0513]:disabled{color:#cbd5e1;opacity:1}.page-shell.dark .jobs-history-field-actions .pill-btn.icon[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .jobs-history-field-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){color:#fff}.page-shell.dark .jobs-history-field-actions .pill-btn.icon[data-v-32ec0513]:disabled{color:#334155}.jobs-history-table .history-select input[type=checkbox][data-v-32ec0513]{width:16px;height:16px;accent-color:#2563eb}.page-shell.dark .jobs-history-table .history-select input[type=checkbox][data-v-32ec0513]{accent-color:#60a5fa}.modal-header-actions[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.5rem}.jobs-history-row-time[data-v-32ec0513]{font-size:.85rem;color:#64748b;font-weight:600}.page-shell.dark .jobs-history-row-time[data-v-32ec0513]{color:#94a3b8}.jobs-history-badge[data-v-32ec0513]{padding:.15rem .55rem;border-radius:999px;background:#e0e7ff;color:#1d4ed8;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.page-shell.dark .jobs-history-badge[data-v-32ec0513]{background:#3b82f62e;color:#93c5fd}.jobs-history-field-label[data-v-32ec0513]{font-weight:600;color:#0f172a}.page-shell.dark .jobs-history-field-label[data-v-32ec0513]{color:#e2e8f0}.jobs-history-field-values[data-v-32ec0513]{color:#475569;font-size:.85rem}.page-shell.dark .jobs-history-field-values[data-v-32ec0513]{color:#cbd5f5}.jobs-history-field-values .before[data-v-32ec0513],.jobs-history-field-values .after[data-v-32ec0513]{font-weight:600}.jobs-history-field-actions[data-v-32ec0513]{vertical-align:middle}.jobs-history-field-actions-inner[data-v-32ec0513]{display:flex;align-items:center;gap:2px;justify-content:flex-end}.page-shell.dark .timesheet-export-grid .date-input[data-v-32ec0513]{background:#0b1220;border-color:var(--border);color:#e2e8f0;color-scheme:dark}.page-shell.dark .timesheet-export-grid .date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7;cursor:pointer}.page-shell.dark .timesheet-export-grid .date-input[data-v-32ec0513]:focus{box-shadow:0 0 0 3px #38bdf833}.page-shell.dark .timesheet-export-option[data-v-32ec0513]{color:#e2e8f0}.confirm-body[data-v-32ec0513]{padding:16px 16px 16px 20px}.confirm-footer[data-v-32ec0513]{display:flex;justify-content:flex-end;align-items:center;gap:4px;padding:6px 10px}.confirm-action-btn[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;box-shadow:none;border-radius:8px;cursor:pointer;color:#64748b;padding:0;transition:background .15s,color .15s}.confirm-action-btn svg[data-v-32ec0513]{width:18px;height:18px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.confirm-cancel-btn[data-v-32ec0513]:hover{color:#dc2626!important;background:#fee2e2!important;box-shadow:none!important;outline:none!important}.confirm-ok-btn[data-v-32ec0513]{color:#64748b}.confirm-ok-btn[data-v-32ec0513]:hover{color:#16a34a!important;background:#dcfce7!important;box-shadow:none!important;outline:none!important}.modal.dark .confirm-action-btn[data-v-32ec0513]{outline:none!important;box-shadow:none!important}.modal.dark .confirm-action-btn[data-v-32ec0513]:focus,.modal.dark .confirm-action-btn[data-v-32ec0513]:focus-visible{outline:none!important;box-shadow:none!important}.modal.dark .confirm-cancel-btn[data-v-32ec0513]:hover{color:#f87171!important;background:#dc262626!important;box-shadow:none!important;outline:none!important}.modal.dark .confirm-ok-btn[data-v-32ec0513]:hover{color:#4ade80!important;background:#16a34a26!important;box-shadow:none!important;outline:none!important}.pill-row[data-v-32ec0513]{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.pill-btn[data-v-32ec0513]{padding:.45rem .9rem;border-radius:999px;border:1px solid var(--btn-ghost-border);background:var(--btn-ghost-hover);cursor:pointer;font-weight:700}.pill-btn.active[data-v-32ec0513]{border-color:#2563eb;background:#eef2ff;color:#1d4ed8}.page-shell.dark .pill-btn[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.page-shell.dark .pill-btn.active[data-v-32ec0513]{background:#3b82f62e;border-color:#2563eb;color:#bfdbfe}.job-debt-btn[data-v-32ec0513]{border-color:var(--btn-danger-border);background:var(--btn-danger-bg);color:var(--btn-danger-text)}.job-debt-btn[data-v-32ec0513]:hover:not(:disabled){background:var(--btn-danger-hover);border-color:#fca5a5}.job-debt-btn.active[data-v-32ec0513]{background:#dc2626;border-color:#b91c1c;color:#fff}.job-debt-btn.active[data-v-32ec0513]:hover:not(:disabled){background:#b91c1c}.job-debt-btn[data-v-32ec0513]:disabled{cursor:not-allowed;opacity:.78}.page-shell.dark .job-debt-btn[data-v-32ec0513]{background:#7f1d1d59;border-color:#7f1d1d;color:#fecaca}.page-shell.dark .job-debt-btn[data-v-32ec0513]:hover:not(:disabled){background:#b91c1c66;border-color:#b91c1c}.page-shell.dark .job-debt-btn.active[data-v-32ec0513]{background:#dc2626;border-color:#f87171;color:#fff}.preview-frame[data-v-32ec0513]{display:flex;flex-direction:column;gap:.6rem}.workplan-preview-modal[data-v-32ec0513]{padding:16px;background:#0f172a6b}.workplan-preview-card[data-v-32ec0513]{width:min(820px,calc(100vw - 32px));height:min(94vh,980px);max-height:calc(100vh - 32px);overflow:hidden;border-radius:18px;background:#fff;box-shadow:none}.workplan-preview-header[data-v-32ec0513]{min-height:68px;padding:0 20px;border-bottom:1px solid var(--border);gap:16px}.workplan-preview-title[data-v-32ec0513]{display:inline-flex;align-items:baseline;gap:4px;min-width:180px;color:#334155}.workplan-preview-eyebrow[data-v-32ec0513]{font-size:13px;font-weight:500;letter-spacing:0}.workplan-preview-tabs[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:3px;border-radius:8px;background:#f1f5f9;border:1px solid var(--border);flex:1;max-width:max-content;justify-self:center}.workplan-preview-tab[data-v-32ec0513]{min-width:42px;min-height:22px;padding:4px 10px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.03em;line-height:1;cursor:pointer;box-shadow:none;transition:color .15s,background .15s,box-shadow .15s}.workplan-preview-tab+.workplan-preview-tab[data-v-32ec0513]{margin-left:0}.workplan-preview-tab[data-v-32ec0513]:hover{color:#334155;background:#0000000a}.workplan-preview-tab.active[data-v-32ec0513]{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #0f172a1f,0 0 0 1px #0f172a0f}.workplan-preview-header .modal-header-actions[data-v-32ec0513]{min-width:180px;justify-content:flex-end}.workplan-preview-header .btn.icon-only[data-v-32ec0513]{width:28px;height:28px;border-radius:0;border:0;background:transparent;color:#334155;box-shadow:none}.workplan-preview-header .btn.icon-only[data-v-32ec0513]:hover:not(:disabled){background:transparent;color:#1d4ed8}.workplan-preview-body[data-v-32ec0513]{flex:1;min-height:0;padding:20px;background:#fff}.workplan-preview-body .muted[data-v-32ec0513],.workplan-preview-body .error-text[data-v-32ec0513]{margin:0 0 12px}.workplan-preview-body .preview-frame[data-v-32ec0513]{min-height:100%;min-width:0;padding:0;background:transparent}.preview-frame[data-v-32ec0513] .docx-preview{margin:0 auto;width:min(7.1in,100%);max-width:100%;min-height:9.2in;background:#fff;color:#000;box-shadow:0 16px 60px #00000026;padding:20mm}.preview-frame[data-v-32ec0513],.preview-frame[data-v-32ec0513] .docx-wrapper,.preview-frame[data-v-32ec0513] .docx-preview-wrapper{background:transparent!important}.preview-frame[data-v-32ec0513] .docx-wrapper,.preview-frame[data-v-32ec0513] .docx-preview-wrapper{padding:0!important}.preview-frame[data-v-32ec0513] section,.preview-frame[data-v-32ec0513] .docx-wrapper>section{background:#fff!important;margin-inline:auto!important}.page-shell.dark .workplan-preview-card[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .workplan-preview-header[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .workplan-preview-title[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .workplan-preview-tab[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .workplan-preview-tab[data-v-32ec0513]:hover{color:#cbd5e1;background:#ffffff0f}.page-shell.dark .workplan-preview-tab.active[data-v-32ec0513]{color:#60a5fa;background:#0f172a;box-shadow:0 1px 3px #0006,0 0 0 1px #ffffff0f}.page-shell.dark .workplan-preview-tabs[data-v-32ec0513]{background:#1e293b;border-color:var(--border)}.page-shell.dark .workplan-preview-header .btn.icon-only[data-v-32ec0513]{border-color:transparent;background:transparent;color:#cbd5e1}.page-shell.dark .workplan-preview-header .btn.icon-only[data-v-32ec0513]:hover:not(:disabled){background:transparent;color:#bfdbfe}.page-shell.dark .workplan-preview-body[data-v-32ec0513]{background:#0f172a}.page-shell.dark .workplan-preview-body .preview-frame[data-v-32ec0513]{background:transparent}.close-btn[data-v-32ec0513]{border-radius:10px;border:1px solid var(--btn-ghost-border);padding:.45rem .9rem;background:var(--btn-ghost-hover);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.close-btn[data-v-32ec0513]:hover{color:#dc2626;background:transparent;border-color:transparent}.close-btn.icon-only[data-v-32ec0513]{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.close-btn.icon-only .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.error-text[data-v-32ec0513]{color:#b91c1c}.ai-card[data-v-32ec0513]{display:flex;flex-direction:column;gap:.75rem;height:calc(100vh - 270px);max-height:calc(100vh - 270px)}.ai-chat-shell[data-v-32ec0513]{display:flex;flex-direction:column;gap:.85rem;border:1px solid var(--border);border-radius:14px;padding:.8rem;background:#f8fafc;min-height:360px;height:100%;overflow:hidden;box-shadow:0 12px 30px #0f172a14;position:relative}.page-shell.dark .ai-chat-shell[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.ai-messages[data-v-32ec0513]{flex:1;overflow:auto;display:grid;gap:.6rem;padding-right:.35rem;padding-bottom:.5rem}.ai-message[data-v-32ec0513]{display:grid;grid-template-columns:1fr;align-items:flex-start}.ai-message.user[data-v-32ec0513]{justify-content:end;text-align:right}.ai-text[data-v-32ec0513]{margin:0;white-space:pre-wrap}.ai-bubble[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;padding:.6rem .75rem;background:#fff;max-width:80%;width:fit-content}.ai-bubble h3[data-v-32ec0513],.ai-bubble h4[data-v-32ec0513],.ai-bubble h5[data-v-32ec0513]{margin:0 0 .35rem;font-weight:700;color:#111}.ai-bubble ul[data-v-32ec0513]{margin:.25rem 0 .5rem 1rem;padding:0}.thinking-bubble[data-v-32ec0513]{background:#e0e7ff;border-color:#3b82f659}.page-shell.dark .thinking-bubble[data-v-32ec0513]{background:#3b82f626}.thinking-dots[data-v-32ec0513]{display:inline-flex;align-items:center;gap:4px}.thinking-dots .dot[data-v-32ec0513]{width:8px;height:8px;border-radius:50%;background:#2563eb;animation:pulse-32ec0513 1s infinite}.thinking-dots .dot-2[data-v-32ec0513]{animation-delay:.15s}.thinking-dots .dot-3[data-v-32ec0513]{animation-delay:.3s}@keyframes pulse-32ec0513{0%{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}to{opacity:.2;transform:translateY(0)}}.ai-attachment-chip[data-v-32ec0513]{display:inline-block;margin-top:.35rem;padding:.25rem .5rem;border-radius:999px;background:#e0e7ff;color:#1d4ed8;font-size:12px;border:1px solid rgba(37,99,235,.35)}.ai-message.user .ai-attachment-chip[data-v-32ec0513]{background:#fff3;color:#fff;border-color:#fff9}.ai-message.user .ai-bubble[data-v-32ec0513]{background:#2563eb;border-color:#1d4ed8;color:#fff;justify-self:end;margin-left:auto}.ai-message.assistant .ai-bubble[data-v-32ec0513]{background:#f1f5f9}.page-shell.dark .ai-bubble[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.ai-compose[data-v-32ec0513]{display:grid;gap:.5rem;margin-top:.25rem}.ai-compose[data-v-32ec0513]{display:grid;gap:.5rem}.ai-textarea[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem;resize:vertical;min-height:90px;background:#fff}.page-shell.dark .ai-textarea[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.ai-actions[data-v-32ec0513]{display:grid;gap:.35rem;margin-top:auto}.ai-attachment-wrap[data-v-32ec0513]{display:flex;flex-wrap:wrap;gap:.4rem}.ai-attachment[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border);background:#f1f5f9;border-radius:999px;padding:.35rem .65rem;width:fit-content}.page-shell.dark .ai-attachment[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.ai-attachment-label[data-v-32ec0513]{font-weight:700;font-size:12px}.ai-attachment-name[data-v-32ec0513]{font-size:13px}.ai-attachment-clear[data-v-32ec0513]{border:none;background:transparent;cursor:pointer;font-size:14px;line-height:1;color:#ef4444}.ai-actions-row[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.ai-pill[data-v-32ec0513]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;border:2px solid #2563eb;border-radius:999px;padding:.35rem .55rem;background:#fff;box-shadow:0 8px 20px #2563eb40}.page-shell.dark .ai-pill[data-v-32ec0513]{background:#0f172a;border-color:#3b82f6;box-shadow:0 8px 24px #00000059}.ai-pill-icon[data-v-32ec0513]{font-size:18px;color:#2563eb;padding:0 .15rem;cursor:pointer}.ai-pill-input[data-v-32ec0513]{width:100%;border:none;outline:none;background:transparent;color:inherit;font-size:15px}.ai-pill-send[data-v-32ec0513]{border:none;background:#2563eb;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-weight:700;transition:transform .1s ease,box-shadow .2s ease}.ai-pill-send[data-v-32ec0513]:disabled{opacity:.6;cursor:not-allowed}.ai-pill-send[data-v-32ec0513]:hover{transform:translateY(-1px);box-shadow:0 8px 18px #2563eb40}.invoice-panel[data-v-32ec0513]{display:flex;flex-direction:column;padding:0!important;gap:0!important}.invoice-panel>.spending-plan-head[data-v-32ec0513]{padding:.75rem .95rem;border-bottom:1px solid var(--border);margin-bottom:0!important}.page-shell.dark .invoice-panel[data-v-32ec0513]{background:#0f172a}.page-shell.dark .invoice-panel>.spending-plan-head[data-v-32ec0513]{background:#0f172a;border-bottom-color:#94a3b826}.page-shell.dark .invoice-shell[data-v-32ec0513]{background:#0f172a;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.08) 1px,transparent 0);background-size:20px 20px}.invoice-shell[data-v-32ec0513]{display:grid!important;grid-template-columns:200px minmax(0,1fr) 200px!important;padding-top:0!important;background:#e8edf2;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.25) 1px,transparent 0);background-size:20px 20px}.invoice-shell.invoice-shell-no-right[data-v-32ec0513]{background:#fff!important;background-image:none!important}.page-shell.dark .invoice-shell.invoice-shell-no-right[data-v-32ec0513]{background:#0f172a!important;background-image:none!important}.invoice-shell.invoice-shell-live-ts .invoice-live-ts-panel[data-v-32ec0513]{background:#fff}.page-shell.dark .invoice-shell.invoice-shell-live-ts .invoice-live-ts-panel[data-v-32ec0513]{background:#0f172a}.invoice-shell.invoice-shell-no-right[data-v-32ec0513]{grid-template-columns:200px minmax(0,1fr)!important}.invoice-shell.invoice-shell-live-ts[data-v-32ec0513]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}.invoice-shell.invoice-shell-live-ts .invoice-sidebar[data-v-32ec0513]:not(.invoice-sidebar-right){display:none!important}.invoice-shell.invoice-shell-live-ts .invoice-live-ts-panel[data-v-32ec0513]{height:100%!important;max-height:100%!important;overflow:hidden!important}.invoice-shell[data-v-32ec0513]{grid-template-rows:minmax(0,1fr);flex:1;min-height:0;height:100%;overflow:hidden;gap:0}.invoice-sidebar[data-v-32ec0513]{width:200px;min-width:160px;max-width:220px;flex-shrink:0;overflow-y:auto;overflow-x:hidden;padding-right:1rem;border-right:1px solid #cbd5e1;display:flex;flex-direction:column;gap:.5rem;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track);background:#fff;position:relative;z-index:1}.page-shell.dark .invoice-sidebar[data-v-32ec0513]{border-right-color:#94a3b840!important;background:#0f172a!important}.page-shell.dark .invoice-shell .invoice-sidebar[data-v-32ec0513]:not(.invoice-sidebar-right){border-right-color:#94a3b840!important}.page-shell.dark .invoice-sidebar-right[data-v-32ec0513]{border-left-color:#94a3b840!important}.invoice-generate-pdf-btn[data-v-32ec0513]{border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text);border-radius:6px!important}.invoice-generate-pdf-btn[data-v-32ec0513]:hover:not(:disabled),.timesheet-head-actions .pill-btn.icon.invoice-generate-pdf-btn[data-v-32ec0513]:hover:not(:disabled){color:#16a34a!important;background:#dcfce7!important;box-shadow:none!important;border:none!important}.page-shell.dark .invoice-generate-pdf-btn[data-v-32ec0513]{border:none!important;background:transparent!important;box-shadow:none!important;color:#94a3b8}.page-shell.dark .invoice-generate-pdf-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .timesheet-head-actions .pill-btn.icon.invoice-generate-pdf-btn[data-v-32ec0513]:hover:not(:disabled){color:#4ade80!important;background:#16a34a26!important;box-shadow:none!important}.invoice-shell .invoice-sidebar[data-v-32ec0513]:not(.invoice-sidebar-right){border-right:1px solid var(--border)!important}.invoice-sidebar-right[data-v-32ec0513]{border-right:none!important;border-left:1px solid var(--border);padding-right:0!important;padding-left:1rem}.page-shell.dark .invoice-sidebar-right[data-v-32ec0513]{border-left-color:#94a3b840}.invoice-live-timesheet-btn.active[data-v-32ec0513]{background:var(--accent);color:#fff;border-color:var(--accent)}.invoice-live-ts-panel[data-v-32ec0513]{display:flex;flex-direction:column;border-left:1px solid var(--border);min-height:0;height:100%;overflow:hidden;background:#fff;position:relative}.page-shell.dark .invoice-live-ts-panel[data-v-32ec0513]{border-left-color:var(--border)}.invoice-live-ts-header[data-v-32ec0513]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0;background:#fff;position:sticky;top:0;z-index:2}.page-shell.dark .invoice-live-ts-header[data-v-32ec0513]{border-bottom-color:var(--border);background:#0f172a}.invoice-live-ts-title[data-v-32ec0513]{font-size:11px;font-weight:700;color:#64748b;letter-spacing:.06em;text-transform:uppercase}.invoice-live-ts-period[data-v-32ec0513]{font-size:11px;font-weight:600;color:#0f172a;flex:1}.page-shell.dark .invoice-live-ts-period[data-v-32ec0513]{color:#e2e8f0}.invoice-live-ts-body[data-v-32ec0513]{overflow-y:auto;overflow-x:hidden;padding:.6rem .75rem;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;display:flex;flex-direction:column;flex:1 1 0;min-height:0;height:0;gap:.4rem}.invoice-live-ts-body[data-v-32ec0513]::-webkit-scrollbar{width:4px}.invoice-live-ts-body[data-v-32ec0513]::-webkit-scrollbar-track{background:transparent}.invoice-live-ts-body[data-v-32ec0513]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.invoice-live-ts-body[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-shell.dark .invoice-live-ts-body[data-v-32ec0513]::-webkit-scrollbar-thumb{background:#334155}.page-shell.dark .invoice-live-ts-body[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#475569}.live-ts-employee-group[data-v-32ec0513]{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;background:#fff}.page-shell.dark .live-ts-employee-group[data-v-32ec0513]{border-color:#94a3b826;background:#1e293b}.live-ts-emp-select[data-v-32ec0513]{border:1px solid var(--btn-ghost-border);border-radius:12px;padding:.35rem .6rem;min-height:32px;font-size:11px;font-weight:600;background:var(--btn-trigger-bg);color:var(--btn-ghost-text);box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f;cursor:pointer;outline:none;max-width:180px;transition:border-color .18s ease,box-shadow .18s ease}.live-ts-emp-select[data-v-32ec0513]:focus{border-color:#93c5fd}.page-shell.dark .live-ts-emp-select[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb;box-shadow:inset 0 1px #ffffff0d,0 10px 18px #00000059}.live-ts-employee-header[data-v-32ec0513]{display:flex;align-items:center;gap:.6rem;padding:.55rem .85rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.page-shell.dark .live-ts-employee-header[data-v-32ec0513]{background:#1e293b;border-bottom-color:#94a3b826}.live-ts-chevron[data-v-32ec0513]{width:14px;height:14px;flex-shrink:0;stroke:#94a3b8;stroke-width:2.5;fill:none;transition:transform .2s ease}.live-ts-chevron.open[data-v-32ec0513]{transform:rotate(180deg)}.live-ts-emp-name[data-v-32ec0513]{flex:1;font-size:12.5px;font-weight:600;color:#0f172a}.page-shell.dark .live-ts-emp-name[data-v-32ec0513]{color:#e2e8f0}.live-ts-emp-total[data-v-32ec0513]{font-size:11px;font-weight:700;color:#2563eb}.page-shell.dark .live-ts-emp-total[data-v-32ec0513]{color:#93c5fd}.live-ts-periods-wrap[data-v-32ec0513]{display:flex;flex-direction:column;border-top:1px solid #e2e8f0}.page-shell.dark .live-ts-periods-wrap[data-v-32ec0513]{border-top-color:#94a3b826}.live-ts-period-card[data-v-32ec0513]{border-bottom:1px solid #e2e8f0}.live-ts-period-card[data-v-32ec0513]:last-child{border-bottom:none}.page-shell.dark .live-ts-period-card[data-v-32ec0513]{border-bottom-color:#94a3b826}.live-ts-period-card-header[data-v-32ec0513]{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;background:#f1f5f9;border-bottom:1px solid #e2e8f0}.page-shell.dark .live-ts-period-card-header[data-v-32ec0513]{background:#1a2537;border-bottom-color:#94a3b826}.live-ts-period-card-label[data-v-32ec0513]{font-size:10.5px;font-weight:700;color:#2563eb;letter-spacing:.01em;flex:1}.page-shell.dark .live-ts-period-card-label[data-v-32ec0513]{color:#93c5fd}.live-ts-period-card-total[data-v-32ec0513]{font-size:10px;font-weight:700;color:#2563eb;background:#eff6ff;padding:1px 7px;border-radius:20px}.page-shell.dark .live-ts-period-card-total[data-v-32ec0513]{color:#93c5fd;background:#2563eb26}.invoice-live-ts-table-wrap[data-v-32ec0513]{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.invoice-live-ts-table[data-v-32ec0513]{width:100%;border-collapse:collapse;font-size:11px;min-width:380px}.invoice-live-ts-table th[data-v-32ec0513],.invoice-live-ts-table td[data-v-32ec0513]{padding:5px 8px;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;white-space:nowrap;color:#0f172a}.invoice-live-ts-table th[data-v-32ec0513]:last-child,.invoice-live-ts-table td[data-v-32ec0513]:last-child{border-right:none}.invoice-live-ts-table th[data-v-32ec0513]{font-size:10px;font-weight:600;color:#64748b;background:#f8fafc;vertical-align:bottom;text-align:center}.page-shell.dark .invoice-live-ts-table th[data-v-32ec0513]{background:#1e293b;color:#94a3b8;border-bottom-color:#94a3b826;border-right-color:#94a3b826}.page-shell.dark .invoice-live-ts-table td[data-v-32ec0513]{color:#e2e8f0;border-bottom-color:#94a3b826;border-right-color:#94a3b826}.live-ts-col-label[data-v-32ec0513]{text-align:left!important;font-size:10px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.page-shell.dark .live-ts-col-label[data-v-32ec0513]{color:#64748b}.live-ts-day-th[data-v-32ec0513]{text-align:center;min-width:36px}.live-ts-day-label[data-v-32ec0513]{display:block;font-size:10px;font-weight:700;color:var(--text-strong)}.live-ts-day-date[data-v-32ec0513]{display:block;font-size:9px;font-weight:400;color:var(--text-muted);margin-top:1px}.invoice-live-ts-table .live-ts-job-no[data-v-32ec0513]{font-size:11px;font-weight:600;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-shell.dark .invoice-live-ts-table .live-ts-job-no[data-v-32ec0513]{color:#94a3b8}.invoice-live-ts-table .live-ts-job-name[data-v-32ec0513]{font-size:11px;font-weight:600;color:#2563eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-shell.dark .invoice-live-ts-table .live-ts-job-name[data-v-32ec0513]{color:#93c5fd}.invoice-live-ts-table .live-ts-desc[data-v-32ec0513]{font-size:11px;color:#334155;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-shell.dark .invoice-live-ts-table .live-ts-desc[data-v-32ec0513]{color:#cbd5e1}.invoice-live-ts-table .live-ts-entry-total[data-v-32ec0513]{font-weight:600;color:#0f172a}.page-shell.dark .invoice-live-ts-table .live-ts-entry-total[data-v-32ec0513]{color:#e2e8f0}.invoice-live-ts-table .numeric[data-v-32ec0513]{text-align:right;font-variant-numeric:tabular-nums}.invoice-live-ts-table .timesheet-total-row td[data-v-32ec0513]{font-weight:700;background:color-mix(in srgb,var(--accent) 6%,#fff);border-top:1px solid var(--border);color:var(--text-strong)}.page-shell.dark .invoice-live-ts-table .timesheet-total-row td[data-v-32ec0513]{background:color-mix(in srgb,var(--accent) 10%,#1a2537);border-top-color:var(--border)}.invoice-content[data-v-32ec0513]{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex!important;flex-direction:column!important;gap:0;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.invoice-sidebar-search[data-v-32ec0513]{margin:0}.invoice-sidebar-history-list[data-v-32ec0513]{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.invoice-sidebar-history-item[data-v-32ec0513]{display:flex;flex-direction:column;gap:1px;padding:6px 8px;border-radius:8px;text-align:left;background:transparent;border:none;cursor:pointer;transition:background .15s}.invoice-sidebar-history-item[data-v-32ec0513]:hover{background:var(--bg-soft)}.invoice-sidebar-history-item.active[data-v-32ec0513]{background:#2563eb14}.invoice-sidebar-history-no[data-v-32ec0513]{font-size:12px;font-weight:600;color:var(--text-strong)}.invoice-sidebar-history-project[data-v-32ec0513]{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-history-inline[data-v-32ec0513]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:#fff;border-radius:8px}td.actions .pill-btn.ghost.icon.danger[data-v-32ec0513],td.actions .pill-btn.inv-hist-ts-btn[data-v-32ec0513],td.actions .pill-btn.inv-hist-edit-btn[data-v-32ec0513],td.actions .pill-btn.inv-hist-open-btn[data-v-32ec0513],td.actions .pill-btn.inv-hist-dl-btn[data-v-32ec0513],td.actions .pill-btn.invoice-row-archive-btn[data-v-32ec0513],.history-actions .pill-btn[data-v-32ec0513],td.actions .pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]{color:var(--text-strong)!important;background:transparent!important;border:none!important;box-shadow:none!important}td.actions .pill-btn.inv-hist-ts-btn[data-v-32ec0513]:hover:not(:disabled),td.actions .pill-btn.invoice-row-archive-btn[data-v-32ec0513]:hover:not(:disabled),td.actions .pill-btn.inv-hist-edit-btn[data-v-32ec0513]:hover:not(:disabled),td.actions .pill-btn.inv-hist-open-btn[data-v-32ec0513]:hover:not(:disabled),td.actions .pill-btn.inv-hist-dl-btn[data-v-32ec0513]:hover:not(:disabled),.history-actions .pill-btn[data-v-32ec0513]:hover:not(:disabled):not(.invoice-pay-icon-btn):not(.danger){background:#eff6ff!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb1f!important;color:#2563eb!important;border-radius:6px!important}td.actions .pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]:hover:not(:disabled),.history-actions .pill-btn.invoice-pay-icon-btn[data-v-32ec0513]:hover:not(:disabled){background:#dcfce7!important;border:1px solid rgba(74,222,128,.4)!important;color:#16a34a!important;border-radius:6px!important;box-shadow:none!important}td.actions .pill-btn.ghost.icon.danger[data-v-32ec0513]:hover:not(:disabled),.history-actions .pill-btn.danger[data-v-32ec0513]:hover:not(:disabled){background:#fee2e2!important;border:1px solid rgba(248,113,113,.4)!important;color:#dc2626!important;border-radius:6px!important;box-shadow:none!important}.page-shell.dark td.actions .pill-btn.ghost.icon.danger[data-v-32ec0513],.page-shell.dark td.actions .pill-btn.inv-hist-ts-btn[data-v-32ec0513],.page-shell.dark td.actions .pill-btn.inv-hist-edit-btn[data-v-32ec0513],.page-shell.dark td.actions .pill-btn.inv-hist-open-btn[data-v-32ec0513],.page-shell.dark td.actions .pill-btn.inv-hist-dl-btn[data-v-32ec0513],.page-shell.dark td.actions .pill-btn.invoice-row-archive-btn[data-v-32ec0513],.page-shell.dark td.actions .pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513],.page-shell.dark .history-actions .pill-btn[data-v-32ec0513]{color:#94a3b8!important;background:transparent!important;border:none!important;box-shadow:none!important}.page-shell.dark td.actions .pill-btn.ghost.icon.danger[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .history-actions .pill-btn.danger[data-v-32ec0513]:hover:not(:disabled){background:#dc262626!important;border:1px solid rgba(248,113,113,.4)!important;color:#f87171!important;box-shadow:none!important}.page-shell.dark td.actions .pill-btn.inv-hist-ts-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark td.actions .pill-btn.invoice-row-archive-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark td.actions .pill-btn.inv-hist-edit-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark td.actions .pill-btn.inv-hist-open-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark td.actions .pill-btn.inv-hist-dl-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .history-actions .pill-btn[data-v-32ec0513]:hover:not(:disabled):not(.invoice-pay-icon-btn):not(.danger){background:#2563eb26!important;border:1px solid rgba(37,99,235,.35)!important;color:#93c5fd!important;box-shadow:none!important}.page-shell.dark td.actions .pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .history-actions .pill-btn.invoice-pay-icon-btn[data-v-32ec0513]:hover:not(:disabled){background:#16a34a26!important;border:1px solid rgba(74,222,128,.4)!important;color:#4ade80!important;box-shadow:none!important}.invoice-history-dots-btn[data-v-32ec0513]{width:28px!important;height:28px!important;padding:0!important;border-radius:6px!important;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background .15s,color .15s!important}td.actions .invoice-history-dots-btn[data-v-32ec0513]:hover:not(:disabled){background:#eff6ff!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb1f!important;color:#2563eb!important;border-radius:6px!important}.page-shell.dark td.actions .invoice-history-dots-btn[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb26!important;color:#93c5fd!important;border-radius:6px!important}.page-shell.dark .invoice-history-inline[data-v-32ec0513]{background:#0f172a}.invoice-history-inline-header[data-v-32ec0513]{padding:8px 0;display:flex;align-items:center;gap:8px}.invoice-history-inline-header .job-history-panel-title[data-v-32ec0513]{flex:1}.invoice-history-inline-header-actions[data-v-32ec0513]{display:flex;align-items:center;gap:6px;margin-left:auto}.invoice-timesheet-inline-list[data-v-32ec0513]{flex:1;min-height:0;max-height:none!important;overflow:auto!important;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;padding:.75rem!important;display:flex;flex-direction:column;gap:1rem}.invoice-timesheet-inline-list .invoice-timesheet-sheet[data-v-32ec0513]{overflow:visible;flex-shrink:0}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513],.invoice-timesheet-inline-list .invoice-timesheet-table-wrap.timesheet-detail-table-wrap[data-v-32ec0513]{overflow-x:auto;overflow-y:visible;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513]::-webkit-scrollbar{height:4px}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513]::-webkit-scrollbar-track{background:transparent}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-shell.dark .invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513]::-webkit-scrollbar-thumb{background:#334155}.page-shell.dark .invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#475569}.invoice-timesheet-inline-list .invoice-timesheet-sheet[data-v-32ec0513],.invoice-timesheet-preview-body .invoice-timesheet-sheet[data-v-32ec0513]{border-radius:16px;overflow:hidden}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513],.invoice-timesheet-preview-body .invoice-timesheet-table-wrap[data-v-32ec0513]{padding:0!important}.invoice-timesheet-inline-list .invoice-timesheet-table[data-v-32ec0513],.invoice-timesheet-preview-body .invoice-timesheet-table[data-v-32ec0513]{border-radius:0!important}.invoice-timesheet-inline-list .invoice-timesheet-table-wrap[data-v-32ec0513],.invoice-timesheet-inline-list .invoice-timesheet-table-wrap.timesheet-detail-table-wrap[data-v-32ec0513]{overflow-x:auto;overflow-y:visible;padding:0}.invoice-timesheet-inline-list .invoice-timesheet-table[data-v-32ec0513],.invoice-timesheet-preview-body .invoice-timesheet-table[data-v-32ec0513]{min-width:780px;border:none!important;border-radius:0!important}.invoice-history-jobs-table[data-v-32ec0513]{flex:1;min-height:0;overflow:auto;border:none;border-radius:0;background:transparent;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.invoice-history-jobs-table .jobs-table-grid th.index[data-v-32ec0513],.invoice-history-jobs-table .jobs-table-grid td.index[data-v-32ec0513]{width:44px;min-width:44px}.invoice-history-jobs-table .jobs-table-grid th.actions[data-v-32ec0513],.invoice-history-jobs-table .jobs-table-grid td.actions[data-v-32ec0513]{width:64px;min-width:64px;text-align:center}.invoice-history-jobs-table .jobs-table-grid th.numeric[data-v-32ec0513],.invoice-history-jobs-table .jobs-table-grid td.numeric[data-v-32ec0513]{white-space:nowrap}.invoice-history-table-panel[data-v-32ec0513]{border:none;border-radius:0;background:transparent}.invoice-history-table-head[data-v-32ec0513]{padding:10px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.invoice-card[data-v-32ec0513]{display:flex;flex-direction:column;gap:1.4rem;padding:0;background:transparent;border:none;box-shadow:none;min-height:0}.page-shell.dark .invoice-card[data-v-32ec0513]{background:transparent;border-color:transparent;box-shadow:none}.invoice-card .card-head[data-v-32ec0513]{padding:.6rem 1rem .25rem;margin-bottom:0}.invoice-card .card-head.invoice-head[data-v-32ec0513]{margin-bottom:.5rem}.invoice-grid[data-v-32ec0513]{display:grid;row-gap:1.4rem;column-gap:1.25rem;grid-template-columns:repeat(4,minmax(210px,1fr));margin-top:.75rem}.invoice-grid .field[data-v-32ec0513]{display:grid;gap:.45rem;align-content:start}.invoice-grid .field label[data-v-32ec0513]{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:#64748b;margin-bottom:0}.date-input[data-v-32ec0513]{color:#94a3b8}.date-input[data-v-32ec0513]:focus,.date-input.has-value[data-v-32ec0513]{color:#0f172a}.date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{opacity:.6;cursor:pointer}.page-shell.dark .date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7}.date-input[data-v-32ec0513]::-webkit-datetime-edit,.date-input[data-v-32ec0513]::-webkit-datetime-edit-fields-wrapper,.date-input[data-v-32ec0513]::-webkit-datetime-edit-text,.date-input[data-v-32ec0513]::-webkit-datetime-edit-month-field,.date-input[data-v-32ec0513]::-webkit-datetime-edit-day-field,.date-input[data-v-32ec0513]::-webkit-datetime-edit-year-field{color:inherit}.invoice-calendar-wrap[data-v-32ec0513]{position:relative}.invoice-date-field[data-v-32ec0513]{display:inline-flex;align-items:center;gap:4px;width:100%;cursor:pointer;border:none;border-bottom:1px solid #111;background:transparent;padding:2px 0;font-size:9.5px;text-align:left;border-radius:0;box-shadow:none}.invoice-date-input[data-v-32ec0513]{color:transparent}.page-shell.dark .invoice-date-input[data-v-32ec0513]{color-scheme:dark}.page-shell.dark .invoice-date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7;cursor:pointer}.invoice-date-input[data-v-32ec0513]::-webkit-datetime-edit,.invoice-date-input[data-v-32ec0513]::-webkit-datetime-edit-fields-wrapper,.invoice-date-input[data-v-32ec0513]::-webkit-datetime-edit-text,.invoice-date-input[data-v-32ec0513]::-webkit-datetime-edit-month-field,.invoice-date-input[data-v-32ec0513]::-webkit-datetime-edit-day-field,.invoice-date-input[data-v-32ec0513]::-webkit-datetime-edit-year-field{color:transparent}.invoice-date-display[data-v-32ec0513]{position:relative;pointer-events:none;color:#64748b;font-size:9.5px;font-family:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.sheet-meta-grid .invoice-date-display[data-v-32ec0513]{font-size:9.5px}.period-row .invoice-date-display[data-v-32ec0513]{font-size:10px}.invoice-date-display.is-placeholder[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .invoice-sheet .invoice-date-display[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .date-input[data-v-32ec0513]{color:#64748b}.page-shell.dark .date-input[data-v-32ec0513]:focus,.page-shell.dark .date-input.has-value[data-v-32ec0513]{color:#e5e7eb}.date-range[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.65rem}.date-range-field[data-v-32ec0513]{display:grid;gap:.35rem}.date-range-label[data-v-32ec0513]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:#94a3b8}.page-shell.dark .date-range-label[data-v-32ec0513]{color:#64748b}.page-shell.dark .invoice-grid .field label[data-v-32ec0513]{color:#94a3b8}.invoice-summary[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.summary-pill[data-v-32ec0513]{border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem;background:#f8fafc;box-shadow:0 10px 24px #0f172a14}.summary-pill.primary[data-v-32ec0513]{border-color:#c7d7ff;background:linear-gradient(145deg,#2563eb1a,#eff6ff)}.page-shell.dark .summary-pill[data-v-32ec0513]{border-color:var(--border);background:#0b1220;box-shadow:0 12px 28px #00000059}.page-shell.dark .summary-pill.primary[data-v-32ec0513]{border-color:#3b82f673;background:linear-gradient(145deg,#2563eb38,#0f172ad9);box-shadow:0 14px 30px #2563eb38}.invoice-head[data-v-32ec0513]{align-items:center;justify-content:flex-end}.invoice-head-actions[data-v-32ec0513]{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.invoice-layout[data-v-32ec0513]{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;flex:1;height:100%;min-height:0;max-width:none;margin:0}.invoice-create[data-v-32ec0513]{display:flex;flex-direction:column;gap:.85rem;flex:1;min-height:0}.invoice-box[data-v-32ec0513]{display:flex;flex-direction:column;gap:.9rem;padding:1.25rem;border-radius:18px;border:1px solid var(--border);background:#fff;box-shadow:0 14px 28px #0f172a14;align-self:stretch;align-items:stretch;flex:0 0 auto;min-height:0;height:auto;max-height:none;overflow:visible;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}.invoice-card[data-v-32ec0513],.invoice-layout[data-v-32ec0513],.invoice-create[data-v-32ec0513]{overflow:visible}.page-shell.dark .invoice-box[data-v-32ec0513]{background:#fff;border-color:var(--border);box-shadow:0 16px 32px #00000059}.invoice-box-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:flex-end;gap:.85rem;width:100%;max-width:none;align-self:stretch}.invoice-box-status[data-v-32ec0513]{margin-top:.35rem}.invoice-box-status .error-text[data-v-32ec0513],.invoice-box-status .success-text[data-v-32ec0513]{margin:0}.invoice-box-controls[data-v-32ec0513]{display:grid;grid-template-columns:minmax(0,220px) minmax(0,150px);gap:.65rem;min-width:0;width:100%;align-items:end}.invoice-select[data-v-32ec0513],.invoice-zoom[data-v-32ec0513]{display:grid;gap:.25rem;min-width:0}.invoice-zoom-controls[data-v-32ec0513]{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden;height:30px}.invoice-zoom-btn[data-v-32ec0513]{width:30px;height:100%;border:none;background:transparent;color:#64748b;font:inherit;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.invoice-zoom-btn[data-v-32ec0513]:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.invoice-zoom-btn[data-v-32ec0513]:disabled{cursor:not-allowed;color:#cbd5e1}.invoice-zoom-value[data-v-32ec0513]{flex:1;height:100%;border:none;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0;background:#f8fafc;color:#0f172a;font:inherit;font-size:11px;font-weight:700;letter-spacing:.03em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,background .15s}.invoice-zoom-value[data-v-32ec0513]:hover{background:#f1f5f9;color:#4338ca}.invoice-box-actions[data-v-32ec0513]{justify-self:end}.invoice-select label[data-v-32ec0513],.invoice-zoom label[data-v-32ec0513],.invoice-panel-section>label[data-v-32ec0513]{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.invoice-select-dropdown[data-v-32ec0513]{position:relative}.invoice-select-trigger[data-v-32ec0513]{width:100%;border:1px solid var(--btn-ghost-border);border-radius:12px;padding:.35rem .6rem;min-height:32px;font-size:11px;font-weight:600;background:var(--btn-trigger-bg);color:var(--btn-ghost-text);box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f;display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.invoice-select-trigger .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:#64748b;stroke-width:2;fill:none}.invoice-select-trigger[data-v-32ec0513]:hover:not(.disabled){border-color:var(--btn-trigger-hover-border);background:var(--btn-trigger-hover-bg);box-shadow:inset 0 1px #fffffff2,0 8px 18px #0f172a14}.invoice-select-trigger.disabled[data-v-32ec0513]{cursor:not-allowed;color:#94a3b8}.invoice-select-trigger[data-v-32ec0513]:focus-visible{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb2e,0 10px 20px #2563eb1f}.invoice-select-menu[data-v-32ec0513]{position:absolute;top:calc(100% + .35rem);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.3rem;box-shadow:0 12px 24px #0f172a26;display:grid;gap:.2rem;z-index:12;max-height:240px;overflow-y:auto}.invoice-select-search[data-v-32ec0513]{padding:.2rem .2rem .35rem;border-bottom:1px solid var(--border)}.invoice-select-search-input[data-v-32ec0513]{width:100%;border-radius:10px;border:1px solid var(--border);padding:.35rem .5rem;font-size:11px;font-weight:600;background:#f9fafb;color:#0f172a;outline:none}.invoice-select-search-input[data-v-32ec0513]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.invoice-select-option[data-v-32ec0513]{border:none;background:transparent;text-align:left;padding:.4rem .55rem;border-radius:10px;font-weight:600;font-size:11px;color:#0f172a;cursor:pointer}.invoice-select-option[data-v-32ec0513]:hover{background:#f1f5f9}.invoice-select-option.active[data-v-32ec0513]{background:#e0e7ff;color:#1d4ed8}.invoice-select-empty[data-v-32ec0513]{padding:.5rem .55rem;font-size:11px;color:#94a3b8}.invoice-box-actions .btn.icon-only[data-v-32ec0513]{min-width:34px;padding:.4rem .55rem}.page-shell.dark .invoice-select label[data-v-32ec0513],.page-shell.dark .invoice-zoom label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .invoice-select-trigger[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb;box-shadow:inset 0 1px #ffffff0d,0 10px 18px #00000059}.page-shell.dark .invoice-select-trigger .icon-svg[data-v-32ec0513]{stroke:#94a3b8}.page-shell.dark .invoice-select-trigger[data-v-32ec0513]:hover:not(.disabled){border-color:var(--border);background:#0b1220}.page-shell.dark .invoice-zoom-controls[data-v-32ec0513]{background:#1e293b;border-color:#94a3b826}.page-shell.dark .invoice-zoom-btn[data-v-32ec0513]{color:#64748b}.page-shell.dark .invoice-zoom-btn[data-v-32ec0513]:hover:not(:disabled){background:#0f172a;color:#e2e8f0}.page-shell.dark .invoice-zoom-btn[data-v-32ec0513]:disabled{color:#334155}.page-shell.dark .invoice-zoom-value[data-v-32ec0513]{background:#0f172a;border-color:#94a3b826;color:#e2e8f0}.page-shell.dark .invoice-zoom-value[data-v-32ec0513]:hover{color:#a5b4fc}.page-shell.dark .invoice-select-trigger[data-v-32ec0513]:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f647,0 12px 22px #00000073}.page-shell.dark .invoice-select-menu[data-v-32ec0513]{background:#111827;border-color:var(--border);box-shadow:0 16px 28px #00000080}.page-shell.dark .invoice-desc-toggle[data-v-32ec0513]{background:transparent;color:#64748b;border-left-color:#334155}.page-shell.dark .invoice-desc-toggle[data-v-32ec0513]:hover{background:#1e293b;color:#60a5fa;border-left-color:#475569}.page-shell.dark .invoice-select-search[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .invoice-select-search-input[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.page-shell.dark .invoice-select-search-input[data-v-32ec0513]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.page-shell.dark .invoice-select-option[data-v-32ec0513]{color:#e5e7eb}.page-shell.dark .invoice-select-option[data-v-32ec0513]:hover{background:#0f172a}.page-shell.dark .invoice-select-option.active[data-v-32ec0513]{background:#3b82f633;color:#93c5fd}.page-shell.dark .invoice-select-empty[data-v-32ec0513]{color:#64748b}.invoice-box-body[data-v-32ec0513]{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:stretch;gap:1.4rem;padding:.25rem .35rem .35rem 0;width:100%;max-width:none}.invoice-left-panel[data-v-32ec0513]{display:flex;flex-direction:column;gap:1rem;align-self:stretch;position:sticky;top:.75rem;min-width:0;padding:.4rem 1.4rem .4rem 0;border-right:1px solid var(--border)}.invoice-panel-title[data-v-32ec0513]{margin:0;color:#0f172a;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.invoice-panel-actions[data-v-32ec0513]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:1rem}.invoice-panel-actions .btn[data-v-32ec0513]{width:100%;height:38px;border-radius:12px}.invoice-panel-actions .btn[data-v-32ec0513]:first-child:nth-last-child(3){grid-column:1 / -1}.page-shell.dark .invoice-panel-title[data-v-32ec0513]{color:#e5e7eb}.page-shell.dark .invoice-left-panel[data-v-32ec0513]{border-right-color:var(--border)}.invoice-panel-section[data-v-32ec0513]{display:grid;gap:.35rem;min-width:0}.invoice-panel-options[data-v-32ec0513]{display:grid;gap:2px}.invoice-panel-radio[data-v-32ec0513]{width:100%;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;cursor:pointer;font-size:11px;font-weight:700;min-height:32px;padding:.45rem .6rem;display:flex;align-items:center;gap:.5rem;transition:background .18s ease,border-color .18s ease,color .18s ease}.invoice-panel-radio input[data-v-32ec0513]{position:absolute;opacity:0;pointer-events:none}.invoice-panel-radio .radio-mark[data-v-32ec0513]{box-sizing:border-box;width:14px;height:14px;border-radius:50%;border:1px solid #94a3b8;background:#fff;flex:0 0 auto;position:relative}.invoice-panel-radio .radio-mark[data-v-32ec0513]:after{content:"";width:6px;height:6px;border-radius:50%;background:transparent;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.invoice-panel-radio[data-v-32ec0513]:hover{border-color:#c7d2fe;color:#1d4ed8}.invoice-panel-radio.active[data-v-32ec0513]{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.invoice-panel-radio.active .radio-mark[data-v-32ec0513]{border-color:#2563eb;background:#fff}.invoice-panel-radio.active .radio-mark[data-v-32ec0513]:after{background:#2563eb}.page-shell.dark .invoice-panel-radio[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#e2e8f0}.page-shell.dark .invoice-panel-radio .radio-mark[data-v-32ec0513]{border-color:#475569;background:#0f172a}.page-shell.dark .invoice-panel-radio.active .radio-mark[data-v-32ec0513]{border-color:#93c5fd;background:transparent}.page-shell.dark .invoice-panel-radio.active .radio-mark[data-v-32ec0513]:after{background:#93c5fd}.page-shell.dark .invoice-panel-radio[data-v-32ec0513]:hover{border-color:#3b82f6;color:#93c5fd}.page-shell.dark .invoice-panel-radio.active[data-v-32ec0513]{background:transparent;border-color:#93c5fd;color:#93c5fd}.fixed-amount-input[data-v-32ec0513]{border:none;background:transparent;font-size:inherit;color:inherit;width:80px;text-align:right;outline:none}.invoice-sheet-loading-overlay[data-v-32ec0513]{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#fff9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:8px;pointer-events:all}.page-shell.dark .invoice-sheet-loading-overlay[data-v-32ec0513]{background:#0f172a99}.invoice-sheet-loading-spinner[data-v-32ec0513]{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:var(--border);border-radius:50%;animation:invoice-spin-32ec0513 .7s linear infinite}.page-shell.dark .invoice-sheet-loading-spinner[data-v-32ec0513]{border-color:var(--border);border-top-color:#93c5fd}@keyframes invoice-spin-32ec0513{to{transform:rotate(360deg)}}.invoice-loading-fade-enter-active[data-v-32ec0513],.invoice-loading-fade-leave-active[data-v-32ec0513]{transition:opacity .2s ease}.invoice-loading-fade-enter-from[data-v-32ec0513],.invoice-loading-fade-leave-to[data-v-32ec0513]{opacity:0}.invoice-sheet-viewport[data-v-32ec0513]{position:relative;width:100%;min-width:0;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;overflow-x:auto;overflow-y:auto;padding:32px;background:#e8edf2;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.25) 1px,transparent 0);background-size:20px 20px;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.page-shell.dark .invoice-sheet-viewport[data-v-32ec0513]{background:#0f172a;background-image:radial-gradient(circle at 1px 1px,rgba(148,163,184,.08) 1px,transparent 0);background-size:20px 20px}.invoice-shell-live-ts .invoice-sheet-viewport[data-v-32ec0513]{padding-left:32px}.invoice-sheet-zoom[data-v-32ec0513]{display:flex;justify-content:center;align-self:flex-start;width:calc(794px * var(--invoice-zoom));min-width:calc(794px * var(--invoice-zoom));--invoice-zoom: 1}.invoice-pages-wrap[data-v-32ec0513]{position:relative;width:794px;transform:scale(var(--invoice-zoom));transform-origin:top center}.invoice-page-bg[data-v-32ec0513]{position:absolute;left:0;width:794px;height:1123px;background:#fff;box-shadow:0 2px 8px #00000014,0 8px 32px #0000001f;z-index:0}.invoice-page-break[data-v-32ec0513]{position:absolute;left:0;width:794px;height:0;z-index:3;display:flex;align-items:center;justify-content:center;border-top:2px dashed #94a3b8;pointer-events:none}.invoice-page-break-label[data-v-32ec0513]{position:absolute;top:-9px;background:#f1f3f5;padding:0 8px;font-size:9px;color:#64748b;font-family:Helvetica Neue,Arial,sans-serif;letter-spacing:.03em}.invoice-page-footer[data-v-32ec0513]{position:absolute;left:0;width:794px;height:28px;z-index:2;display:flex;align-items:center;justify-content:center;font-size:9px;color:#94a3b8;font-family:Helvetica Neue,Arial,sans-serif;background:#fff;border-top:1px solid var(--border);letter-spacing:.02em;box-sizing:border-box}.page-shell.dark .invoice-page-bg[data-v-32ec0513]{background:#0f172a;box-shadow:0 2px 16px #00000080}.page-shell.dark .invoice-page-break[data-v-32ec0513]{border-top-color:var(--border)}.page-shell.dark .invoice-page-break-label[data-v-32ec0513]{background:#1a1f2e;color:#475569}.page-shell.dark .invoice-page-footer[data-v-32ec0513]{background:#0f172a;color:#475569;border-top-color:var(--border)}.invoice-history-panel[data-v-32ec0513]{border:1px solid var(--border);border-radius:18px;padding:.9rem;background:#fff;box-shadow:0 14px 30px #0f172a14;align-self:stretch;min-width:0;min-height:0;height:auto;max-height:none;width:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent}.page-shell.dark .invoice-history-panel[data-v-32ec0513]{background:#0f172a;border-color:var(--border);box-shadow:0 16px 30px #00000073}.pill-switch[data-v-32ec0513]{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:#f8fafc}.pill-switch button[data-v-32ec0513]{border:none;background:transparent;padding:.5rem .9rem;font-weight:700;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease}.pill-switch button.active[data-v-32ec0513]{background:#2563eb;color:#fff}.page-shell.dark .pill-switch[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .pill-switch button[data-v-32ec0513]{color:#e2e8f0}.invoice-history[data-v-32ec0513]{display:flex;flex-direction:column;gap:.8rem;justify-content:flex-start}.history-head[data-v-32ec0513]{display:flex;justify-content:space-between;align-items:center}.history-head-actions[data-v-32ec0513]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.invoice-history-search[data-v-32ec0513]{display:flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:10px;padding:.35rem .55rem;background:#fff;min-width:200px}.invoice-history-search input[data-v-32ec0513]{border:none;background:transparent;outline:none;font-size:.85rem;width:100%;color:inherit}.invoice-history-search-icon[data-v-32ec0513]{width:14px;height:14px;stroke:#64748b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.page-shell.dark .invoice-history-search[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .invoice-history-search-icon[data-v-32ec0513]{stroke:#94a3b8}.page-shell.dark .invoice-history-search input[data-v-32ec0513]{color:#e5e7eb}.invoice-history-tree .timesheet-week-row[data-v-32ec0513]{grid-template-columns:1fr}.invoice-history-table-wrap[data-v-32ec0513]{margin-top:.35rem;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.timesheet-notification-modal-actions[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.5rem}.timesheet-notification-table-wrap[data-v-32ec0513]{margin-top:.55rem;border:1px solid var(--border);border-radius:12px;overflow:auto;background:#fff;max-height:420px;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.timesheet-notification-table thead th.timesheet-notification-hours-head[data-v-32ec0513],.timesheet-notification-hours[data-v-32ec0513]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.timesheet-notification-table td[data-v-32ec0513]{vertical-align:top}.timesheet-notification-row[data-v-32ec0513]{cursor:default}.invoice-history-summary[data-v-32ec0513]{margin-top:.55rem}.invoice-timesheet-preview-modal[data-v-32ec0513]{z-index:55}.invoice-timesheet-preview-modal .modal-card[data-v-32ec0513]{width:min(1280px,96vw)}.invoice-timesheet-preview-body[data-v-32ec0513]{padding:.75rem;max-height:min(78vh,920px);overflow:auto}.invoice-timesheet-preview-state[data-v-32ec0513]{min-height:220px;display:flex;align-items:center;justify-content:center;gap:.55rem;color:#475569;font-size:13px}.invoice-timesheet-preview-state.error[data-v-32ec0513]{color:#b91c1c}.invoice-timesheet-sheet-list[data-v-32ec0513]{display:flex;flex-direction:column;gap:1rem}.invoice-timesheet-sheet[data-v-32ec0513]{border:1px solid var(--border);border-radius:16px;background:#fff;position:relative;overflow:hidden}.invoice-timesheet-sheet-header[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem .25rem}.invoice-timesheet-sheet-header h4[data-v-32ec0513]{margin:0;font-size:15px}.invoice-timesheet-sheet-meta[data-v-32ec0513]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem 1rem;color:#64748b;font-size:12px}.invoice-timesheet-table-wrap[data-v-32ec0513]{padding:0}.invoice-timesheet-table-wrap.timesheet-detail-table-wrap[data-v-32ec0513]{border:none;border-radius:0;background:transparent;overflow:hidden}.invoice-timesheet-table[data-v-32ec0513]{border:none;border-radius:0;border-collapse:separate;border-spacing:0;overflow:hidden}.invoice-timesheet-table th[data-v-32ec0513],.invoice-timesheet-table td[data-v-32ec0513]{border-left:none;border-top:none}.invoice-timesheet-table tr[data-v-32ec0513]>:last-child{border-right:none}.invoice-timesheet-table tbody tr[data-v-32ec0513]:last-child>*{border-bottom:none}.invoice-timesheet-table .invoice-timesheet-payroll-col[data-v-32ec0513],.invoice-timesheet-table .invoice-timesheet-payroll-cell[data-v-32ec0513]{min-width:96px;width:96px;text-align:center}.invoice-timesheet-payroll-check[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px}.invoice-timesheet-payroll-check input[type=checkbox][data-v-32ec0513]{width:16px;height:16px;margin:0;accent-color:#f28c28;cursor:pointer}.invoice-timesheet-payroll-check input[type=checkbox][data-v-32ec0513]:disabled{cursor:not-allowed}.invoice-timesheet-empty[data-v-32ec0513]{padding:1rem .75rem;text-align:center;color:#64748b}.invoice-timesheet-payroll-cell.total[data-v-32ec0513]{background:#f8fafc}.page-shell.dark .invoice-timesheet-preview-state[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .invoice-timesheet-preview-state.error[data-v-32ec0513]{color:#fca5a5}.page-shell.dark .invoice-timesheet-sheet[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.page-shell.dark .invoice-timesheet-sheet-meta[data-v-32ec0513],.page-shell.dark .invoice-timesheet-empty[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .invoice-timesheet-payroll-cell.total[data-v-32ec0513]{background:#0f172a}.invoice-history-summary-wrap[data-v-32ec0513]{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 4px 24px #0f172a14}.page-shell.dark .invoice-history-summary-wrap[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.invoice-history-summary-table[data-v-32ec0513]{width:100%;border-collapse:collapse}.invoice-history-summary-table thead th[data-v-32ec0513]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;text-align:left;padding:.5rem .6rem;background:#f8fafc;border-bottom:1px solid var(--border)}.page-shell.dark .invoice-history-summary-table thead th[data-v-32ec0513]{color:#94a3b8;background:#0f172a;border-bottom-color:var(--border)}.invoice-history-summary-table td[data-v-32ec0513]{padding:.5rem .6rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.invoice-history-summary-table td[data-v-32ec0513]:last-child{border-right:none}.invoice-history-summary-table tr:last-child td[data-v-32ec0513]{border-bottom:none}.page-shell.dark .invoice-history-summary-table td[data-v-32ec0513]{border-color:var(--border)}.invoice-history-summary-table th.numeric[data-v-32ec0513],.invoice-history-summary-table td.numeric[data-v-32ec0513]{text-align:right}.invoice-history-summary-no[data-v-32ec0513],.invoice-history-summary-no-head[data-v-32ec0513]{width:52px}.invoice-history-summary-action[data-v-32ec0513],.invoice-history-summary-action-head[data-v-32ec0513]{text-align:right;width:84px}.invoice-history-summary-project[data-v-32ec0513]{min-width:160px}.page-shell.dark .invoice-history-table-wrap[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.page-shell.dark .timesheet-notification-table-wrap[data-v-32ec0513]{border-color:var(--border);background:#0b1220;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.invoice-history-table[data-v-32ec0513]{width:100%;border-collapse:collapse}.invoice-history-table thead th[data-v-32ec0513]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b;text-align:left;padding:.55rem .65rem;background:#f8fafc;border-bottom:1px solid var(--border)}.page-shell.dark .invoice-history-table thead th[data-v-32ec0513]{color:#94a3b8;background:#0f172a;border-bottom-color:var(--border)}.invoice-history-sort-btn[data-v-32ec0513]{border:none;background:transparent;display:inline-flex;align-items:center;gap:.25rem;padding:0;font:inherit;color:inherit;cursor:pointer}.invoice-history-sort-btn .sort-icon[data-v-32ec0513]{width:14px;height:14px;transition:transform .15s ease}.invoice-history-sort-btn .sort-icon.desc[data-v-32ec0513]{transform:rotate(180deg)}.invoice-history-table thead th.invoice-history-total-head[data-v-32ec0513]{text-align:right}.invoice-history-table thead th.invoice-history-paid-head[data-v-32ec0513]{text-align:center}.invoice-history-table thead th.invoice-history-action-head[data-v-32ec0513],.invoice-history-action-cell[data-v-32ec0513]{text-align:right}.invoice-history-row td[data-v-32ec0513]{padding:.55rem .65rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:transparent}.timesheet-pay-period-table[data-v-32ec0513],.timesheet-report-employee-table[data-v-32ec0513]{border-collapse:collapse;border:1px solid var(--border)}.timesheet-report-employee-table th[data-v-32ec0513],.timesheet-report-employee-table td[data-v-32ec0513],.timesheet-pay-period-table th[data-v-32ec0513],.timesheet-pay-period-table td[data-v-32ec0513]{padding:.55rem .65rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.timesheet-report-employee-table th[data-v-32ec0513]:last-child,.timesheet-report-employee-table td[data-v-32ec0513]:last-child,.timesheet-pay-period-table th[data-v-32ec0513]:last-child,.timesheet-pay-period-table td[data-v-32ec0513]:last-child{border-right:none}.timesheet-report-employee-table tbody tr:last-child td[data-v-32ec0513],.timesheet-pay-period-table tbody tr:last-child td[data-v-32ec0513]{border-bottom:none}.timesheet-report-paid-action[data-v-32ec0513]{width:28px;height:28px;min-width:28px;padding:0;justify-content:center;color:var(--btn-muted-text);border:none;background:transparent;box-shadow:none;font-weight:700;font-size:15px;border-radius:6px;transition:background .15s,color .15s}.timesheet-report-paid-mark[data-v-32ec0513]{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;font-size:14px;font-weight:800;line-height:1}.timesheet-report-paid-action[data-v-32ec0513]:hover:not(:disabled){color:#16a34a!important;background:#dcfce7!important}.timesheet-report-paid-action[data-v-32ec0513]:disabled{cursor:not-allowed;opacity:1;color:#64748b;border-color:#2563eb;background:#e2e8f0;box-shadow:none}.timesheet-report-preview-action[data-v-32ec0513]{width:28px;height:28px;padding:0;color:var(--btn-muted-text);border:none;background:transparent;box-shadow:none;border-radius:6px;transition:background .15s,color .15s}.timesheet-report-preview-action[data-v-32ec0513]:hover:not(:disabled),td.actions .pill-btn.icon.timesheet-report-preview-action[data-v-32ec0513]:hover:not(:disabled){color:#2563eb!important;background:#eff6ff!important;box-shadow:none!important}.timesheet-report-preview-action[data-v-32ec0513]:disabled{color:#94a3b8;border-color:var(--border);background:#f1f5f9;box-shadow:none}.timesheet-report-paid-text[data-v-32ec0513]{color:#64748b;font-weight:700}.ui-tooltip[data-v-32ec0513]{position:relative}.ui-tooltip[data-v-32ec0513]:after{display:none;content:attr(data-ui-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);z-index:20;max-width:180px;padding:.35rem .5rem;transform:translate(-50%) translateY(2px);border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172a;color:#fff;box-shadow:0 10px 24px #0f172a2e;font-size:11px;font-weight:700;line-height:1.2;opacity:0;pointer-events:none;text-align:center;white-space:nowrap;transition:opacity .12s ease,transform .12s ease}.ui-tooltip[data-v-32ec0513]:before{display:none;content:"";position:absolute;left:50%;bottom:calc(100% + 3px);z-index:21;width:8px;height:8px;transform:translate(-50%) rotate(45deg);background:#0f172a;opacity:0;pointer-events:none;transition:opacity .12s ease}.ui-tooltip[data-v-32ec0513]:hover:not(:disabled):after,.ui-tooltip[data-v-32ec0513]:hover:not(:disabled):before,.ui-tooltip[data-v-32ec0513]:focus-visible:not(:disabled):after,.ui-tooltip[data-v-32ec0513]:focus-visible:not(:disabled):before{opacity:1}.ui-tooltip[data-v-32ec0513]:hover:not(:disabled):after,.ui-tooltip[data-v-32ec0513]:focus-visible:not(:disabled):after{transform:translate(-50%) translateY(0)}.global-ui-tooltip[data-v-32ec0513]{position:fixed;z-index:10000;max-width:280px;padding:5px 10px;transform:translate(-50%) translateY(0);border:none;border-radius:6px;background:#1e293b;color:#f1f5f9;box-shadow:0 4px 12px #0f172a33;font-size:11.5px;font-weight:500;line-height:1.4;pointer-events:none;text-align:center;white-space:nowrap;letter-spacing:.01em}.global-ui-tooltip.placement-bottom[data-v-32ec0513]:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1e293b}.global-ui-tooltip.placement-top[data-v-32ec0513]:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.page-shell.dark .timesheet-report-employee-table[data-v-32ec0513],.page-shell.dark .timesheet-report-employee-table th[data-v-32ec0513],.page-shell.dark .timesheet-report-employee-table td[data-v-32ec0513],.page-shell.dark .timesheet-pay-period-table[data-v-32ec0513],.page-shell.dark .timesheet-pay-period-table th[data-v-32ec0513],.page-shell.dark .timesheet-pay-period-table td[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .timesheet-report-paid-action[data-v-32ec0513]{color:#94a3b8;border:none;background:transparent;box-shadow:none}.page-shell.dark .timesheet-report-paid-action[data-v-32ec0513]:hover:not(:disabled){color:#4ade80!important;background:#16a34a26!important}.page-shell.dark .timesheet-report-paid-action[data-v-32ec0513]:disabled{color:#cbd5e1;border-color:#60a5fa;background:#334155d9}.page-shell.dark .timesheet-report-preview-action[data-v-32ec0513]{color:#94a3b8;border:none;background:transparent;box-shadow:none}.page-shell.dark .timesheet-report-preview-action[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark td.actions .pill-btn.icon.timesheet-report-preview-action[data-v-32ec0513]:hover:not(:disabled){color:#93c5fd!important;background:#2563eb26!important;box-shadow:none!important}.page-shell.dark .timesheet-report-preview-action[data-v-32ec0513]:disabled{color:#94a3b8b3;border-color:#94a3b833;background:#0f172ab3}.page-shell.dark .timesheet-report-paid-text[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .ui-tooltip[data-v-32ec0513]:after{border-color:#94a3b838;background:#e2e8f0;color:#0f172a}.page-shell.dark .ui-tooltip[data-v-32ec0513]:before{background:#e2e8f0}.page-shell.dark~.global-ui-tooltip[data-v-32ec0513]{border-color:#94a3b838;background:#e2e8f0;color:#0f172a}.chart-expand-btn[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--btn-muted-text);cursor:pointer;flex-shrink:0;transition:color .15s,background .15s}.chart-expand-btn[data-v-32ec0513]:hover{color:var(--btn-primary-bg);background:var(--btn-muted-hover-bg)}.chart-expand-btn svg[data-v-32ec0513]{width:13px;height:13px;stroke:currentColor;transition:stroke .15s}.chart-modal-overlay[data-v-32ec0513]{position:absolute;inset:52px 0 0;z-index:100;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden}.chart-modal[data-v-32ec0513]{background:#fff;border-radius:16px;border:1px solid var(--border);box-shadow:0 20px 48px #0f172a2e;width:100%;max-height:90%;display:flex;flex-direction:column;overflow:hidden}.chart-modal-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.chart-modal-title[data-v-32ec0513]{font-size:.85rem;font-weight:700;color:var(--text-strong, #0f172a)}.chart-modal-controls[data-v-32ec0513]{display:flex;align-items:center;gap:.5rem}.chart-modal-close[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:#94a3b8;cursor:pointer;transition:color .15s,background .15s}.chart-modal-close[data-v-32ec0513]:hover{color:#dc2626;background:transparent}.chart-modal-close svg[data-v-32ec0513]{width:12px;height:12px;stroke:currentColor}.chart-modal-body[data-v-32ec0513]{flex:1;overflow:auto;padding:.75rem;display:flex;flex-direction:column;min-height:0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.chart-modal-scroll[data-v-32ec0513]{flex:1;overflow:auto;display:flex;align-items:stretch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.chart-modal-scroll .dashboard-project-chart-svg[data-v-32ec0513]{width:100%!important;min-width:unset!important;height:100%!important;min-height:300px;flex:1}.chart-modal-financial[data-v-32ec0513]{display:flex;justify-content:center;align-items:center;flex:1}.chart-modal .dashboard-chart-zoom-controls[data-v-32ec0513]{gap:.1rem}.chart-modal .dashboard-chart-zoom-btn[data-v-32ec0513],.chart-modal .dashboard-chart-zoom-value[data-v-32ec0513]{border:none;background:transparent;box-shadow:none}.chart-modal .dashboard-chart-zoom-btn[data-v-32ec0513]:hover,.chart-modal .dashboard-chart-zoom-value[data-v-32ec0513]:hover{background:var(--bg-soft, #f1f5f9)}.invoice-history-paid-cell[data-v-32ec0513]{text-align:center}.invoice-total-paid-label[data-v-32ec0513]{font-size:12px;font-weight:700;color:#16a34a;letter-spacing:.03em}.page-shell.dark .invoice-total-paid-label[data-v-32ec0513]{color:#4ade80}.invoice-pay-dollar[data-v-32ec0513]{font-size:13px;font-weight:700;line-height:1;color:inherit!important}.invoice-pay-btn[data-v-32ec0513]{border-color:var(--btn-primary-bg);background:var(--btn-primary-bg);color:var(--btn-primary-text)}.invoice-pay-btn[data-v-32ec0513]:hover:not(:disabled){border-color:var(--btn-primary-hover);background:var(--btn-primary-hover)}.invoice-paid-btn[data-v-32ec0513]{border-color:#93c5fd;background:transparent;color:#2563eb;cursor:not-allowed}.invoice-paid-btn[data-v-32ec0513]:hover{cursor:not-allowed}.page-shell.dark .invoice-pay-btn[data-v-32ec0513]{border-color:#3b82f6;background:#3b82f6;color:#0b1120}.page-shell.dark .invoice-pay-btn[data-v-32ec0513]:hover:not(:disabled){border-color:#60a5fa;background:#60a5fa}.page-shell.dark .invoice-paid-btn[data-v-32ec0513]{border-color:#60a5fa;background:transparent;color:#93c5fd}.invoice-history-row td[data-v-32ec0513]:last-child{border-right:none}.invoice-history-row:last-child td[data-v-32ec0513]{border-bottom:none}.page-shell.dark .invoice-history-row td[data-v-32ec0513]{border-color:var(--border)}.invoice-history-row[data-v-32ec0513]{cursor:pointer;transition:box-shadow .15s ease}.invoice-history-row:hover td[data-v-32ec0513]{background:#f8fafc}.page-shell.dark .invoice-history-row:hover td[data-v-32ec0513]{background:#0f172a}.invoice-history-row.active td[data-v-32ec0513]{background:#eff6ff}.page-shell.dark .invoice-history-row.active td[data-v-32ec0513]{background:#3b82f626}.invoice-history-row td[data-v-32ec0513]{transition:background 2.5s ease}.invoice-history-row-match td[data-v-32ec0513]{background:#dbeafe;transition:background .2s ease}.page-shell.dark .invoice-history-row td[data-v-32ec0513]{transition:background 2.5s ease}.page-shell.dark .invoice-history-row-match td[data-v-32ec0513]{background:#3b82f64d;transition:background .2s ease}.invoice-history-no[data-v-32ec0513],.invoice-history-no-head[data-v-32ec0513]{width:84px;min-width:84px;text-align:center}.invoice-history-no[data-v-32ec0513]{font-weight:700;font-size:11px;color:#334155;font-variant-numeric:tabular-nums}.page-shell.dark .invoice-history-no[data-v-32ec0513]{color:#cbd5f5}.invoice-history-invoice[data-v-32ec0513]{display:grid;gap:.2rem}.invoice-history-label[data-v-32ec0513]{font-weight:700;font-size:12px}.invoice-history-dejob[data-v-32ec0513]{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#475569}.page-shell.dark .invoice-history-dejob[data-v-32ec0513]{color:#9ca3af}.invoice-history-date[data-v-32ec0513]{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.page-shell.dark .invoice-history-date[data-v-32ec0513]{color:#94a3b8}.invoice-history-total-cell[data-v-32ec0513]{text-align:right;font-weight:700;font-size:12px;font-variant-numeric:tabular-nums;color:#0f172a}.page-shell.dark .invoice-history-total-cell[data-v-32ec0513]{color:#e2e8f0}.history-detail-card[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem;background:#f8fafc;display:grid;gap:.75rem}.page-shell.dark .history-detail-card[data-v-32ec0513]{background:#0b1220;border-color:var(--border)}.history-detail-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}.history-detail-item[data-v-32ec0513]{display:grid;gap:.25rem}.history-detail-item.span-full[data-v-32ec0513]{grid-column:1 / -1}.job-info-grid[data-v-32ec0513]{display:grid;gap:.9rem}.job-info-section[data-v-32ec0513]{border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem;background:#fff;display:grid;gap:.6rem}.job-info-modal .modal-card.job-info-debt[data-v-32ec0513]{border-color:#fca5a5;box-shadow:0 18px 50px #b91c1c33}.job-info-modal .modal-card.job-info-debt .modal-header[data-v-32ec0513]{background:#fef2f2;border-bottom-color:#fecaca}.page-shell.dark .job-info-section[data-v-32ec0513]{background:#1e293b;border-color:#ffffff14}.page-shell.dark .job-info-modal .modal-card.job-info-debt[data-v-32ec0513]{border-color:#7f1d1d;box-shadow:0 18px 50px #7f1d1d73}.page-shell.dark .job-info-modal .modal-card.job-info-debt .modal-header[data-v-32ec0513]{background:#7f1d1d40;border-bottom-color:#7f1d1d}.job-info-section-title[data-v-32ec0513]{font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.page-shell.dark .job-info-section-title[data-v-32ec0513]{color:#94a3b8}.job-flag-toggle-item[data-v-32ec0513]{align-items:center}.job-flag-toggle[data-v-32ec0513]{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;font-size:.78rem;font-weight:500;color:#64748b}.job-flag-toggle[data-v-32ec0513]:disabled{opacity:.5;cursor:not-allowed}.job-flag-toggle-track[data-v-32ec0513]{position:relative;width:36px;height:20px;border-radius:10px;background:#cbd5e1;transition:background .2s ease;flex-shrink:0}.job-flag-toggle-track[data-v-32ec0513]:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.job-flag-toggle.active .job-flag-toggle-track[data-v-32ec0513]:after{transform:translate(16px)}.job-flag-toggle-red.active .job-flag-toggle-track[data-v-32ec0513]{background:#ef4444}.job-flag-toggle-yellow.active .job-flag-toggle-track[data-v-32ec0513]{background:#f59e0b}.job-flag-toggle-icon[data-v-32ec0513]{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.job-flag-toggle-red .job-flag-toggle-icon[data-v-32ec0513]{color:#94a3b8}.job-flag-toggle-red.active .job-flag-toggle-icon[data-v-32ec0513]{color:#ef4444}.job-flag-toggle-yellow .job-flag-toggle-icon[data-v-32ec0513]{color:#94a3b8}.job-flag-toggle-yellow.active .job-flag-toggle-icon[data-v-32ec0513]{color:#f59e0b}.page-shell.dark .job-flag-toggle[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .job-flag-toggle-track[data-v-32ec0513]{background:#334155}.page-shell.dark .job-flag-toggle-red.active .job-flag-toggle-track[data-v-32ec0513]{background:#dc2626}.page-shell.dark .job-flag-toggle-yellow.active .job-flag-toggle-track[data-v-32ec0513]{background:#d97706}.auto-archive-toggle[data-v-32ec0513]{display:inline-flex;align-items:center;gap:7px;border:none;background:transparent;cursor:pointer;padding:0 4px;color:#94a3b8;font-size:12px;font-weight:500;transition:color .15s}.auto-archive-toggle[data-v-32ec0513]:disabled{opacity:.5;cursor:not-allowed}.auto-archive-toggle.active[data-v-32ec0513]{color:#64748b}.auto-archive-toggle-label[data-v-32ec0513]{font-size:11px}.auto-archive-toggle-track[data-v-32ec0513]{position:relative;width:28px;height:15px;border-radius:8px;background:#cbd5e1;flex-shrink:0;transition:background .2s ease}.auto-archive-toggle-track[data-v-32ec0513]:after{content:"✕";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease;font-size:7px;line-height:11px;text-align:center;color:#94a3b8}.auto-archive-toggle.active .auto-archive-toggle-track[data-v-32ec0513]{background:#10b981}.auto-archive-toggle.active .auto-archive-toggle-track[data-v-32ec0513]:after{content:"✓";transform:translate(13px);color:#1e293b}.page-shell.dark .auto-archive-toggle[data-v-32ec0513]{color:#475569}.page-shell.dark .auto-archive-toggle.active[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .auto-archive-toggle-track[data-v-32ec0513]{background:#334155}.page-shell.dark .auto-archive-toggle.active .auto-archive-toggle-track[data-v-32ec0513]{background:#059669}.job-info-section-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.65rem .9rem}.job-info-section-client .job-info-section-grid[data-v-32ec0513]{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.job-info-textarea[data-v-32ec0513]{resize:vertical;min-height:72px}.job-schedule-edit[data-v-32ec0513]{display:flex;flex-direction:column;gap:8px}.job-schedule-options[data-v-32ec0513]{display:flex;flex-wrap:wrap;gap:6px 16px}.job-schedule-option[data-v-32ec0513]{display:flex;align-items:center;gap:6px;font-size:.82rem;cursor:pointer;color:var(--text-strong);white-space:nowrap}.job-schedule-option-none[data-v-32ec0513]{color:var(--text-muted)}.job-schedule-radio[data-v-32ec0513]{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.job-schedule-date-input[data-v-32ec0513]{max-width:180px}.page-shell.dark .job-schedule-option[data-v-32ec0513]{color:#e2e8f0}.job-info-change-orders[data-v-32ec0513]{max-height:260px;border:none!important;border-radius:0!important;box-shadow:none!important}.job-info-change-orders-grid th[data-v-32ec0513],.job-info-change-orders-grid td[data-v-32ec0513]{font-size:.75rem}.job-info-section-full[data-v-32ec0513]{grid-column:1 / -1}.job-info-change-order-active td[data-v-32ec0513]{background:#3b82f614}.page-shell.dark .job-info-change-order-active td[data-v-32ec0513]{background:#3b82f62e}.history-detail-item .label[data-v-32ec0513]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.page-shell.dark .history-detail-item .label[data-v-32ec0513]{color:#94a3b8}.history-detail-item .value[data-v-32ec0513]{font-weight:600;color:#0f172a;font-variant-numeric:tabular-nums}.history-detail-item .value.pre-wrap[data-v-32ec0513]{white-space:pre-wrap}.page-shell.dark .history-detail-item .value[data-v-32ec0513]{color:#e2e8f0}.history-detail-actions[data-v-32ec0513]{display:flex;justify-content:flex-end}.history-table[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.page-shell.dark .history-table[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.history-table-grid[data-v-32ec0513]{width:100%;border-collapse:collapse;min-width:100%;table-layout:fixed}.history-table-grid th[data-v-32ec0513]{padding:.55rem .9rem;border-bottom:1px solid var(--border);text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748b;background:#f8fafc;white-space:nowrap}.history-table-grid td[data-v-32ec0513]{padding:.65rem .9rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.83rem;color:#0f172a}.history-table-grid tbody tr:hover td[data-v-32ec0513]{background:#f8fafc}.history-table-grid tbody tr:last-child td[data-v-32ec0513]{border-bottom:none}.history-empty-row td[data-v-32ec0513]{height:56px;border-bottom:1px solid var(--border)!important;background:transparent!important;pointer-events:none}.history-empty-row:last-child td[data-v-32ec0513]{border-bottom:none!important}.history-table-grid th.index[data-v-32ec0513],.history-table-grid td.index[data-v-32ec0513]{width:56px;text-align:center;font-variant-numeric:tabular-nums;color:#94a3b8}.history-table-grid th.history-select[data-v-32ec0513],.history-table-grid td.history-select[data-v-32ec0513]{width:44px;text-align:center}.history-table-grid th.actions[data-v-32ec0513],.history-table-grid td.actions[data-v-32ec0513]{width:110px;text-align:right}.history-table-grid th[data-v-32ec0513]:nth-child(3),.history-table-grid td[data-v-32ec0513]:nth-child(3){width:180px}.history-table-grid th[data-v-32ec0513]:nth-child(4),.history-table-grid td[data-v-32ec0513]:nth-child(4){width:110px}.history-table-grid th[data-v-32ec0513]:nth-child(5),.history-table-grid td[data-v-32ec0513]:nth-child(5){width:200px}.history-table-grid th[data-v-32ec0513]:nth-child(6),.history-table-grid td[data-v-32ec0513]:nth-child(6){width:180px}.history-table-grid th[data-v-32ec0513]:nth-child(7),.history-table-grid td[data-v-32ec0513]:nth-child(7),.history-table-grid th[data-v-32ec0513]:nth-child(8),.history-table-grid td[data-v-32ec0513]:nth-child(8){width:130px}.history-table-grid th.history-options-head[data-v-32ec0513],.history-table-grid td.history-options-cell[data-v-32ec0513]{text-align:right}td.actions .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn),td.history-options-cell .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn){background:none!important;border:none!important;box-shadow:none!important;color:#64748b;transform:none!important}td.actions .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn):hover,td.history-options-cell .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn):hover{background:none!important;box-shadow:none!important;color:#2563eb;transform:none!important}td.actions .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn),td.history-options-cell .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn){color:#ef4444}td.actions .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn):hover,td.history-options-cell .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn):hover{color:#b91c1c}td.actions .jobs-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){background:#eff6ff!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb1f!important;color:#2563eb!important;border-radius:6px!important}.page-shell.dark td.actions .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn),.page-shell.dark td.history-options-cell .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn){background:none!important;border:none!important;box-shadow:none!important;color:#94a3b8}.page-shell.dark td.actions .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn):hover,.page-shell.dark td.history-options-cell .pill-btn.icon[data-v-32ec0513]:not(.timesheet-paid-btn):hover{background:none!important;box-shadow:none!important;color:#fff}.page-shell.dark td.actions .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn){color:#fca5a5}.page-shell.dark td.actions .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn):hover,.page-shell.dark td.history-options-cell .pill-btn.icon.danger[data-v-32ec0513]:not(.timesheet-paid-btn):hover{color:#f87171}.page-shell.dark td.actions .jobs-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb26!important;color:#93c5fd!important;border-radius:6px!important}.history-table-grid th[data-v-32ec0513]{background:#f8fafc;font-weight:700}.history-table-grid th+th[data-v-32ec0513],.history-table-grid td+td[data-v-32ec0513]{border-left:1px solid var(--border)}.history-table-grid th[data-v-32ec0513]:last-child,.history-table-grid td[data-v-32ec0513]:last-child{border-right:none}.jobs-history-section td[data-v-32ec0513]{background:#f1f5f9;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.jobs-history-group-header[data-v-32ec0513]{cursor:pointer;-webkit-user-select:none;user-select:none}.jobs-history-group-header:hover td[data-v-32ec0513]{background:#e2e8f0}.jobs-history-group-inner[data-v-32ec0513]{display:flex;align-items:center;gap:6px;height:100%;line-height:1}.jobs-history-group-chevron[data-v-32ec0513]{display:flex;align-items:center;transition:transform .18s ease}.jobs-history-group-chevron.collapsed[data-v-32ec0513]{transform:rotate(-90deg)}.jobs-history-group-chevron svg[data-v-32ec0513]{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.jobs-history-group-count[data-v-32ec0513]{margin-left:4px;font-size:.65rem;background:#cbd5e1;color:#475569;border-radius:10px;padding:1px 7px;font-weight:600;letter-spacing:0;text-transform:none}.page-shell.dark .jobs-history-section td[data-v-32ec0513]{background:#101a2f;color:#cbd5f5}.page-shell.dark .jobs-history-group-header:hover td[data-v-32ec0513]{background:#1a2540}.page-shell.dark .jobs-history-group-count[data-v-32ec0513]{background:#1e2d4a;color:#94a3b8}.jobs-history-group-today td[data-v-32ec0513]{background:#eff6ff;color:#1d4ed8;border-left:3px solid #3b82f6}.jobs-history-group-today .jobs-history-group-count[data-v-32ec0513]{background:#bfdbfe;color:#1d4ed8}.jobs-history-group-today:hover td[data-v-32ec0513]{background:#dbeafe}.jobs-history-group-yesterday td[data-v-32ec0513]{background:#fffbeb;color:#b45309;border-left:3px solid #f59e0b}.jobs-history-group-yesterday .jobs-history-group-count[data-v-32ec0513]{background:#fde68a;color:#92400e}.jobs-history-group-yesterday:hover td[data-v-32ec0513]{background:#fef3c7}.jobs-history-group-past td[data-v-32ec0513]{background:#f1f5f9;color:#475569;border-left:3px solid #94a3b8}.jobs-history-group-past .jobs-history-group-count[data-v-32ec0513]{background:#cbd5e1;color:#475569}.jobs-history-group-past:hover td[data-v-32ec0513]{background:#e2e8f0}.page-shell.dark .jobs-history-group-today td[data-v-32ec0513]{background:#1e3a5f;color:#93c5fd;border-left-color:#3b82f6}.page-shell.dark .jobs-history-group-today .jobs-history-group-count[data-v-32ec0513]{background:#1e40af;color:#bfdbfe}.page-shell.dark .jobs-history-group-today:hover td[data-v-32ec0513]{background:#1e3a70}.page-shell.dark .jobs-history-group-yesterday td[data-v-32ec0513]{background:#2d1f0a;color:#fcd34d;border-left-color:#f59e0b}.page-shell.dark .jobs-history-group-yesterday .jobs-history-group-count[data-v-32ec0513]{background:#78350f;color:#fde68a}.page-shell.dark .jobs-history-group-yesterday:hover td[data-v-32ec0513]{background:#3a2810}.page-shell.dark .jobs-history-group-past td[data-v-32ec0513]{background:#101a2f;color:#94a3b8;border-left-color:#475569}.page-shell.dark .jobs-history-group-past .jobs-history-group-count[data-v-32ec0513]{background:#1e2d4a;color:#94a3b8}.page-shell.dark .jobs-history-group-past:hover td[data-v-32ec0513]{background:#1a2540}.jobs-history-col-header th[data-v-32ec0513]{height:36px;line-height:36px;padding:0 10px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);white-space:nowrap}.jobs-history-col-header-today th[data-v-32ec0513]{background:#dbeafe;color:#1e40af}.jobs-history-col-header-yesterday th[data-v-32ec0513]{background:#fef3c7;color:#92400e}.jobs-history-col-header-past th[data-v-32ec0513]{background:#e2e8f0;color:#334155}.page-shell.dark .jobs-history-col-header th[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .jobs-history-col-header-today th[data-v-32ec0513]{background:#1e3a70;color:#93c5fd}.page-shell.dark .jobs-history-col-header-yesterday th[data-v-32ec0513]{background:#3a2810;color:#fcd34d}.page-shell.dark .jobs-history-col-header-past th[data-v-32ec0513]{background:#1a2540;color:#94a3b8}.jobs-history-table .history-table-grid tbody tr[data-v-32ec0513]{background:#fff}.jobs-history-table .history-table-grid td[data-v-32ec0513]{background:transparent}.page-shell.dark .history-table-grid th[data-v-32ec0513]{background:#111827;color:#e2e8f0}.page-shell.dark .history-table-grid td[data-v-32ec0513],.page-shell.dark .history-table-grid th[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .history-table-grid th+th[data-v-32ec0513],.page-shell.dark .history-table-grid td+td[data-v-32ec0513]{border-left-color:var(--border)}.page-shell.dark .history-table-grid thead th[data-v-32ec0513]{border-top-color:var(--border)}.page-shell.dark .history-table-grid th[data-v-32ec0513]:first-child,.page-shell.dark .history-table-grid td[data-v-32ec0513]:first-child{border-left-color:var(--border)}.page-shell.dark .history-table-grid th[data-v-32ec0513]:last-child,.page-shell.dark .history-table-grid td[data-v-32ec0513]:last-child{border-right-color:var(--border)}.page-shell.dark .jobs-history-table .history-table-grid tbody tr[data-v-32ec0513]{background:#0b1220}.page-shell.dark .jobs-history-table .history-table-grid td[data-v-32ec0513]{background:transparent}.jobs-card[data-v-32ec0513]{display:flex;flex-direction:column;overflow:hidden;min-height:calc(100vh - 230px)}.jobs-card .spending-plan-head[data-v-32ec0513]{position:relative;padding-right:116px}.jobs-head-actions[data-v-32ec0513]{position:absolute;top:0;right:-4px}.jobs-head-actions .card-actions[data-v-32ec0513]{position:relative;align-items:center;flex-wrap:nowrap}.jobs-card .card-actions .pill-btn.icon[data-v-32ec0513],.jobs-card .card-actions .pill-btn.icon[data-v-32ec0513]:disabled{width:28px;height:28px;min-width:28px;padding:0;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)!important;border-radius:6px!important;transform:none!important}.jobs-card .card-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){border:none!important;background:var(--btn-muted-hover-bg)!important;box-shadow:none!important;color:var(--btn-primary-bg)!important;transform:none!important}.jobs-action-loader[data-v-32ec0513]{position:absolute;top:50%;left:-24px;width:18px;height:18px;margin-top:-9px;margin-left:0;color:#64748b;visibility:hidden}.jobs-action-loader.active[data-v-32ec0513]{visibility:visible}.page-shell.dark .jobs-card .card-actions .pill-btn.icon[data-v-32ec0513],.page-shell.dark .jobs-card .card-actions .pill-btn.icon[data-v-32ec0513]:disabled{color:#94a3b8!important}.page-shell.dark .jobs-card .card-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){background:var(--btn-muted-hover-bg)!important;color:#fff!important}.page-shell.dark .jobs-action-loader[data-v-32ec0513],.page-shell.dark .jobs-card .spending-plan-head-stat-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .jobs-card .spending-plan-head-stat-value[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .jobs-card .spending-plan-stat-divider[data-v-32ec0513]{background:#334155}.jobs-summary-grid.spending-plan-table-grid th.index[data-v-32ec0513],.jobs-summary-grid.spending-plan-table-grid td.index[data-v-32ec0513]{width:48px}.jobs-summary-grid.spending-plan-table-grid th.actions[data-v-32ec0513],.jobs-summary-grid.spending-plan-table-grid td.actions[data-v-32ec0513]{width:72px}.jobs-summary-grid.spending-plan-table-grid th[data-v-32ec0513]:not(.index):not(.actions),.jobs-summary-grid.spending-plan-table-grid td[data-v-32ec0513]:not(.index):not(.actions){width:calc((100% - 120px)/4)}.job-history-panel .jobs-summary-grid.spending-plan-table-grid th.actions[data-v-32ec0513],.job-history-panel .jobs-summary-grid.spending-plan-table-grid td.actions[data-v-32ec0513]{width:108px}.job-history-panel .jobs-summary-grid.spending-plan-table-grid th[data-v-32ec0513]:not(.index):not(.actions),.job-history-panel .jobs-summary-grid.spending-plan-table-grid td[data-v-32ec0513]:not(.index):not(.actions){width:calc((100% - 156px)/4)}.jobs-card .jobs-table[data-v-32ec0513]{flex:1;overflow:auto}.jobs-card .jobs-table .jobs-table-grid thead th[data-v-32ec0513]{position:sticky;top:0;z-index:10;background:#f8fafc}.page-shell.dark .jobs-card .jobs-table .jobs-table-grid thead th[data-v-32ec0513]{background:#111827}.jobs-summary-table[data-v-32ec0513]{margin-bottom:0;max-height:none;flex:1;min-height:0;overflow:auto}.jobs-summary-grid[data-v-32ec0513]{width:100%}.jobs-summary-grid th[data-v-32ec0513],.jobs-summary-grid td[data-v-32ec0513]{font-size:.8rem}.jobs-summary-grid th.actions[data-v-32ec0513],.jobs-summary-grid td.actions[data-v-32ec0513]{width:120px}.jobs-head[data-v-32ec0513]{align-items:center}.jobs-sidebar[data-v-32ec0513]{overflow-y:auto}.jobs-sidebar .dashboard-project-sidebar-list[data-v-32ec0513]{max-height:none}.jobs-loading-msg[data-v-32ec0513]{padding:.5rem 0;font-size:.8rem}.job-detail-panel[data-v-32ec0513]{display:flex;flex-direction:column;height:100%;overflow:hidden}.job-detail-panel-header[data-v-32ec0513]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0;min-height:48px;transition:background .2s ease,border-color .2s ease}.job-detail-panel-header.job-detail-panel-header-debt[data-v-32ec0513]{background:#fef2f2;border-bottom-color:#fecaca}.page-shell.dark .job-detail-panel-header.job-detail-panel-header-debt[data-v-32ec0513]{background:#7f1d1d40;border-bottom-color:#7f1d1d}.job-detail-panel-title[data-v-32ec0513]{flex:1;min-width:0}.job-detail-panel-title .eyebrow[data-v-32ec0513]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;line-height:1}.job-detail-panel-title h3[data-v-32ec0513]{font-size:.95rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong)}.job-detail-panel-header-actions[data-v-32ec0513]{flex-shrink:0;display:flex;align-items:center;gap:6px;margin-left:auto}.job-detail-back-btn[data-v-32ec0513],.job-detail-panel-header-actions .pill-btn[data-v-32ec0513]{background:transparent!important;border:none!important;box-shadow:none!important;padding:6px!important;width:30px!important;height:30px!important;color:var(--btn-muted-text);transform:none!important;border-radius:6px!important;transition:background .15s,color .15s!important}.job-detail-back-btn[data-v-32ec0513]:hover,.job-detail-panel-header-actions .pill-btn[data-v-32ec0513]:hover{color:var(--btn-primary-bg)!important;background:var(--btn-muted-hover-bg)!important;box-shadow:none!important}.employee-save-btn[data-v-32ec0513]:hover:not(:disabled){color:#16a34a!important;background:#dcfce7!important}.page-shell.dark .employee-save-btn[data-v-32ec0513]:hover:not(:disabled){color:#4ade80!important;background:#16a34a26!important}.job-detail-panel-header-actions .pill-btn.danger[data-v-32ec0513]{color:var(--btn-muted-text)!important;background:transparent!important}.job-detail-panel-header-actions .pill-btn.danger[data-v-32ec0513]:hover{color:#dc2626!important;background:#fee2e2!important}.job-detail-panel-header-actions .pill-btn.job-debt-btn.active[data-v-32ec0513]{color:var(--btn-danger-text)!important;background:transparent!important}.job-detail-back-btn .icon-svg[data-v-32ec0513],.job-detail-panel-header-actions .pill-btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.page-shell.dark .job-detail-back-btn[data-v-32ec0513],.page-shell.dark .job-detail-panel-header-actions .pill-btn[data-v-32ec0513]{color:#94a3b8!important}.page-shell.dark .job-detail-back-btn[data-v-32ec0513]:hover,.page-shell.dark .job-detail-panel-header-actions .pill-btn[data-v-32ec0513]:hover{color:#fff!important;background:var(--btn-muted-hover-bg)!important}.page-shell.dark .job-detail-panel-header-actions .pill-btn.danger[data-v-32ec0513]{color:#94a3b8!important}.page-shell.dark .job-detail-panel-header-actions .pill-btn.danger[data-v-32ec0513]:hover{color:#f87171!important;background:#dc262626!important}.page-shell.dark .job-detail-panel-header-actions .pill-btn.job-debt-btn.active[data-v-32ec0513]{color:#f87171!important}.job-detail-panel-body[data-v-32ec0513]{flex:1;overflow-y:auto;padding:12px 16px}.job-history-panel-title[data-v-32ec0513]{font-size:.9rem;font-weight:600;color:var(--text-strong);flex:1}.job-history-panel-body[data-v-32ec0513]{padding:0;overflow-x:auto;overflow-y:auto}.job-history-panel-body .jobs-history-table[data-v-32ec0513]{overflow:visible}.job-history-panel-body .history-table-grid[data-v-32ec0513]{min-width:100%}.sr-only[data-v-32ec0513]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.job-history-panel-body .history-table-grid thead th[data-v-32ec0513]{position:sticky;top:0;z-index:2;background:#f8fafc}.page-shell.dark .job-history-panel-body .history-table-grid thead th[data-v-32ec0513]{background:#111827}.job-detail-panel-body .history-detail-card[data-v-32ec0513]{box-shadow:none;border:none;padding:0;background:transparent}.jobs-totals[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin-bottom:.75rem}.jobs-total-card[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;padding:.6rem .75rem;background:#f8fafc;display:grid;gap:.25rem}.jobs-total-card .label[data-v-32ec0513]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.jobs-total-card .value[data-v-32ec0513]{font-weight:700;font-size:1rem;color:#0f172a;font-variant-numeric:tabular-nums}.page-shell.dark .jobs-total-card[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .jobs-total-card .label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .jobs-total-card .value[data-v-32ec0513]{color:#e2e8f0}.jobs-controls[data-v-32ec0513]{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.jobs-control[data-v-32ec0513]{display:grid;gap:.25rem}.jobs-control label[data-v-32ec0513]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.page-shell.dark .jobs-control label[data-v-32ec0513]{color:#94a3b8}.job-info-label[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.35rem;width:fit-content}.job-info-label[data-v-32ec0513]:after{content:"i";display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1.5px solid #94a3b8;color:#64748b;background:transparent;font-size:10px;font-style:italic;font-weight:600;font-family:Georgia,serif;line-height:1;text-transform:none;cursor:default;flex-shrink:0}.job-info-label[data-v-32ec0513]:hover:after{border-color:#3b82f6;color:#3b82f6}.page-shell.dark .job-info-label[data-v-32ec0513]:after{border-color:#475569;color:#64748b}.job-info-tooltip[data-v-32ec0513]{position:fixed;z-index:80;width:min(320px,calc(100vw - 2rem));padding:.55rem .65rem;border-radius:8px;background:#0f172a;color:#fff;box-shadow:0 12px 30px #0f172a38;font-size:11px;font-weight:700;line-height:1.35;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:anywhere;pointer-events:none}.page-shell.dark .job-info-tooltip[data-v-32ec0513]{background:#e2e8f0;color:#0f172a}.jobs-filter-select-wrap[data-v-32ec0513]{position:relative;min-width:170px}.jobs-filter-trigger[data-v-32ec0513]{width:100%;border:1px solid var(--btn-ghost-border);border-radius:12px;padding:.35rem .6rem;min-height:32px;font-size:11px;font-weight:600;background:var(--btn-trigger-bg);color:var(--btn-ghost-text);box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f;display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.jobs-filter-trigger[data-v-32ec0513],.jobs-status-trigger[data-v-32ec0513],.jobs-change-order-trigger[data-v-32ec0513],.employees-select-trigger[data-v-32ec0513]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jobs-filter-trigger[data-v-32ec0513]:hover{border-color:var(--btn-trigger-hover-border);background:var(--btn-trigger-hover-bg);box-shadow:inset 0 1px #fffffff2,0 8px 18px #0f172a14}.jobs-filter-trigger[data-v-32ec0513]:focus-visible{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb2e,0 10px 20px #2563eb1f}.page-shell.dark .jobs-filter-trigger[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb;box-shadow:inset 0 1px #ffffff0d,0 10px 18px #00000059}.page-shell.dark .jobs-filter-trigger[data-v-32ec0513]:hover{border-color:var(--border);background:#0b1220}.page-shell.dark .jobs-filter-trigger[data-v-32ec0513]:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f647,0 12px 22px #00000073}.jobs-filter-menu[data-v-32ec0513]{min-width:180px}.jobs-search[data-v-32ec0513]{display:flex;align-items:center;gap:.35rem;border:1px solid var(--border);border-radius:10px;padding:.35rem .55rem;background:#fff;min-width:220px}.jobs-search input[data-v-32ec0513]{border:none;background:transparent;outline:none;font-size:.85rem;width:100%;color:inherit}.jobs-search-icon[data-v-32ec0513]{width:14px;height:14px;stroke:#64748b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.page-shell.dark .jobs-search[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .jobs-search-icon[data-v-32ec0513]{stroke:#94a3b8}.jobs-error-inline[data-v-32ec0513]{color:#b91c1c;font-weight:600;font-size:.8rem;margin-right:.4rem;max-width:320px}.page-shell.dark .jobs-error-inline[data-v-32ec0513]{color:#fca5a5}.jobs-add-menu[data-v-32ec0513]{position:relative;display:inline-flex;align-items:center}.jobs-add-menu-panel[data-v-32ec0513]{position:absolute;right:0;top:calc(100% + .4rem);background:#fff;border:1px solid var(--border);border-radius:12px;padding:.3rem;min-width:190px;box-shadow:0 12px 24px #0f172a26;display:grid;gap:.2rem;z-index:20}.jobs-add-menu-option[data-v-32ec0513]{border:none;background:transparent;text-align:left;padding:.4rem .55rem;border-radius:10px;font:inherit;font-weight:600;font-size:11px;color:#0f172a;cursor:pointer;width:100%}.jobs-add-menu-option[data-v-32ec0513]:hover{background:#f1f5f9}.jobs-change-order-panel[data-v-32ec0513]{display:grid;gap:.35rem;padding-top:.4rem;border-top:1px solid var(--border)}.jobs-change-order-label[data-v-32ec0513]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.jobs-change-order-dropdown[data-v-32ec0513]{position:relative}.jobs-change-order-trigger[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:10px;padding:.4rem .55rem;min-height:32px;font:inherit;font-size:11px;font-weight:600;background:#fff;color:#0f172a;display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.jobs-change-order-trigger .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:#64748b;stroke-width:2;fill:none;flex-shrink:0;transition:transform .15s}.jobs-change-order-trigger[data-v-32ec0513]:hover:not(.disabled){border-color:#6366f1}.jobs-change-order-trigger.open[data-v-32ec0513]{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.jobs-change-order-trigger.open .icon-svg[data-v-32ec0513]{transform:rotate(180deg)}.jobs-change-order-trigger[data-v-32ec0513]:focus-visible{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.jobs-change-order-trigger.disabled[data-v-32ec0513]{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.jobs-change-order-menu[data-v-32ec0513]{position:absolute;top:calc(100% + .35rem);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.3rem;box-shadow:0 12px 24px #0f172a26;display:grid;gap:.2rem;z-index:25;max-height:240px;overflow-y:auto}.jobs-change-order-search[data-v-32ec0513]{padding:.2rem .2rem .35rem;border-bottom:1px solid var(--border)}.jobs-change-order-search-input[data-v-32ec0513]{width:100%;border-radius:10px;border:1px solid var(--border);padding:.35rem .5rem;font:inherit;font-size:11px;font-weight:600;background:#fff;color:#0f172a;outline:none}.jobs-change-order-search-input[data-v-32ec0513]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.jobs-change-order-option[data-v-32ec0513]{border:none;background:transparent;text-align:left;padding:.4rem .55rem;border-radius:10px;font-weight:600;font-size:11px;color:#0f172a;cursor:pointer;width:100%}.jobs-change-order-option[data-v-32ec0513]:hover{background:#f1f5f9}.jobs-change-order-option.active[data-v-32ec0513]{background:#e0e7ff;color:#1d4ed8}.jobs-change-order-empty[data-v-32ec0513]{padding:.5rem .55rem;font-size:.8rem;color:#94a3b8}.page-shell.dark .jobs-add-menu-panel[data-v-32ec0513]{background:#111827;border-color:var(--border);box-shadow:0 12px 30px #00000059}.page-shell.dark .jobs-add-menu-option[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .jobs-add-menu-option[data-v-32ec0513]:hover{background:#0f172a}.page-shell.dark .jobs-change-order-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .jobs-change-order-trigger[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb;box-shadow:inset 0 1px #ffffff0d,0 10px 18px #00000059}.page-shell.dark .jobs-change-order-trigger .icon-svg[data-v-32ec0513]{stroke:#94a3b8}.page-shell.dark .jobs-change-order-trigger[data-v-32ec0513]:hover:not(.disabled){border-color:var(--border);background:#0b1220}.page-shell.dark .jobs-change-order-trigger.open[data-v-32ec0513]{border-color:#3b82f6;background:#0b1220;box-shadow:0 0 0 3px #3b82f647,0 12px 22px #00000073}.page-shell.dark .jobs-change-order-trigger[data-v-32ec0513]:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f647}.page-shell.dark .jobs-change-order-menu[data-v-32ec0513]{background:#111827;border-color:var(--border);box-shadow:0 16px 28px #00000080}.page-shell.dark .jobs-change-order-search[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .jobs-change-order-search-input[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e5e7eb}.page-shell.dark .jobs-change-order-search-input[data-v-32ec0513]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.page-shell.dark .jobs-change-order-option[data-v-32ec0513]{color:#e5e7eb}.page-shell.dark .jobs-change-order-option[data-v-32ec0513]:hover{background:#0f172a}.page-shell.dark .jobs-change-order-option.active[data-v-32ec0513]{background:#3b82f633;color:#93c5fd}.page-shell.dark .jobs-change-order-empty[data-v-32ec0513]{color:#64748b}.jobs-table[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;overflow:auto;background:#fff}.employees-table.jobs-table[data-v-32ec0513]{border:none;border-radius:0;background:transparent}.employees-table .jobs-table-grid thead th[data-v-32ec0513]{position:sticky;top:0;z-index:2;background:#f8fafc}.page-shell.dark .employees-table .jobs-table-grid thead th[data-v-32ec0513]{background:#111827}.page-shell.dark .employees-table.jobs-table[data-v-32ec0513]{border:none;background:transparent}.page-shell.dark .jobs-table[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.jobs-table-grid[data-v-32ec0513]{width:max-content;min-width:100%;border-collapse:collapse}.jobs-table-grid th[data-v-32ec0513],.jobs-table-grid td[data-v-32ec0513]{padding:.6rem .8rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;min-width:140px}.jobs-table-grid tr.jobs-row-child td[data-v-32ec0513]{background:#f8fafc}.jobs-table-grid tr.jobs-row-debt td[data-v-32ec0513]{background:#fee2e2;color:#7f1d1d}.jobs-table-grid tr.jobs-row-debt:nth-child(2n) td[data-v-32ec0513]{background:#fee2e2}.page-shell.dark .jobs-table-grid tr.jobs-row-child td[data-v-32ec0513]{background:#0f172a}.page-shell.dark .jobs-table-grid tr.jobs-row-debt td[data-v-32ec0513],.page-shell.dark .jobs-table-grid tr.jobs-row-debt:nth-child(2n) td[data-v-32ec0513]{background:#3b0f0f!important;color:#fecaca}.jobs-index-cell[data-v-32ec0513]{display:flex;align-items:center;gap:.35rem}.jobs-index-cell.child[data-v-32ec0513]{padding-left:.35rem}.jobs-expand-btn[data-v-32ec0513],.jobs-expand-spacer[data-v-32ec0513]{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.jobs-expand-btn[data-v-32ec0513]{border:2px solid #2563eb;background:#eff6ff;cursor:pointer;box-shadow:0 6px 12px #2563eb2e}.jobs-expand-btn .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:#2563eb;stroke-width:2.5;fill:none;transition:transform .2s ease;transform:rotate(-90deg)}.jobs-datalist[data-v-32ec0513]{position:relative;display:flex;align-items:center}.jobs-datalist .jobs-edit-input[data-v-32ec0513]{padding-right:2.1rem}.jobs-datalist-toggle[data-v-32ec0513]{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:none;background:transparent;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--btn-muted-text);border-radius:4px;transition:background .15s,color .15s}.jobs-datalist-toggle[data-v-32ec0513]:hover{background:var(--btn-muted-hover-bg);color:var(--btn-primary-bg)}.jobs-datalist-toggle .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;stroke-width:2.2;fill:none}.jobs-datalist-menu[data-v-32ec0513]{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:25;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.35rem 0;max-height:220px;overflow-y:auto;box-shadow:0 14px 28px #0f172a24}.jobs-datalist-option[data-v-32ec0513]{width:100%;text-align:left;border:none;background:transparent;padding:.45rem .75rem;font-size:.85rem;color:#0f172a;cursor:pointer}.jobs-datalist-option[data-v-32ec0513]:hover{background:#f1f5f9}.jobs-datalist-empty[data-v-32ec0513]{padding:.45rem .75rem;font-size:.8rem;color:#94a3b8}.page-shell.dark .jobs-datalist-menu[data-v-32ec0513]{background:#0b1220;border-color:var(--border);box-shadow:0 16px 28px #00000080}.page-shell.dark .jobs-datalist-option[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .jobs-datalist-option[data-v-32ec0513]:hover{background:#0f172a}.page-shell.dark .jobs-datalist-empty[data-v-32ec0513]{color:#94a3b8}.jobs-expand-btn.open .icon-svg[data-v-32ec0513]{transform:rotate(0)}.jobs-expand-btn[data-v-32ec0513]:hover{background:#dbeafe;border-color:#1d4ed8}.jobs-child-dot[data-v-32ec0513]{width:6px;height:6px;border-radius:999px;background:#94a3b8}.jobs-index-text[data-v-32ec0513]{font-variant-numeric:tabular-nums}.page-shell.dark .jobs-expand-btn .icon-svg[data-v-32ec0513]{stroke:#93c5fd}.page-shell.dark .jobs-expand-btn[data-v-32ec0513]:hover{background:#0f172a;border-color:#60a5fa}.page-shell.dark .jobs-child-dot[data-v-32ec0513]{background:#475569}.page-shell.dark .jobs-expand-btn[data-v-32ec0513]{border-color:#3b82f6;background:#0b1220;box-shadow:0 8px 16px #00000073}.timesheet-table .jobs-table-grid th[data-v-32ec0513],.timesheet-table .jobs-table-grid td[data-v-32ec0513]{min-width:0;white-space:normal;padding:.45rem .5rem;font-size:12px;line-height:1.2}.timesheet-layout[data-v-32ec0513]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:1rem;align-items:stretch;flex:1;min-height:0}.timesheet-table[data-v-32ec0513]{overflow:visible}.timesheet-detail-table-outer[data-v-32ec0513]{position:relative;flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.timesheet-detail-table-outer[data-v-32ec0513]:has(.timesheet-job-menu){overflow:visible}.timesheet-detail-table-wrap[data-v-32ec0513]{min-width:100%}.timesheet-detail-table[data-v-32ec0513]{width:100%;border-collapse:collapse}.timesheet-filler-row td[data-v-32ec0513]{padding:4px 6px;height:56px;box-sizing:border-box}.timesheet-table .jobs-table-grid[data-v-32ec0513]{width:100%;min-width:0;table-layout:fixed}.timesheet-list-grid th[data-v-32ec0513]{font-size:11px}.timesheet-table .jobs-table-grid th.index[data-v-32ec0513],.timesheet-table .jobs-table-grid td.index[data-v-32ec0513]{width:44px;min-width:44px;text-align:center}.timesheet-table .jobs-table-grid th.numeric[data-v-32ec0513],.timesheet-table .jobs-table-grid td.numeric[data-v-32ec0513]{white-space:nowrap}.timesheet-table .jobs-table-grid th.actions[data-v-32ec0513],.timesheet-table .jobs-table-grid td.actions[data-v-32ec0513]{width:64px;min-width:64px;text-align:center}.timesheet-job-dropdown[data-v-32ec0513],.timesheet-desc-dropdown[data-v-32ec0513]{position:relative;display:flex;align-items:center;width:100%}.timesheet-desc-menu[data-v-32ec0513]{position:absolute;left:0;top:calc(100% + .35rem);width:max(100%,220px);max-width:min(400px,calc(100vw - 48px));z-index:20}.timesheet-job-dropdown .timesheet-edit-input[data-v-32ec0513],.timesheet-desc-dropdown .timesheet-edit-input[data-v-32ec0513]{padding-right:2rem}.timesheet-job-toggle[data-v-32ec0513]{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:none;background:transparent;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b}.timesheet-job-toggle .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;fill:none}.timesheet-job-menu[data-v-32ec0513]{position:absolute;left:0;right:auto;top:calc(100% + .35rem);z-index:20;width:max(100%,260px);max-width:min(560px,calc(100vw - 48px));background:#fff;border:1px solid var(--border);border-radius:12px;padding:.3rem;max-height:240px;overflow-y:auto;overflow-x:hidden;box-shadow:0 12px 24px #0f172a26;display:grid;gap:.2rem}.timesheet-job-option[data-v-32ec0513]{width:100%;text-align:left;border:none;background:transparent;padding:.4rem .55rem;border-radius:10px;font-size:11px;font-weight:600;color:#0f172a;cursor:pointer}.timesheet-job-option[data-v-32ec0513]:hover{background:#f1f5f9}.timesheet-job-empty[data-v-32ec0513]{padding:.5rem .55rem;font-size:11px;color:#94a3b8}.page-shell.dark .timesheet-job-menu[data-v-32ec0513]{background:#0b1220;border-color:var(--border);box-shadow:0 16px 28px #00000080}.page-shell.dark .timesheet-job-option[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .timesheet-job-option[data-v-32ec0513]:hover{background:#0f172a}.page-shell.dark .timesheet-job-empty[data-v-32ec0513]{color:#94a3b8}.timesheet-list-grid col.col-index[data-v-32ec0513]{width:44px}.timesheet-list-grid col.col-employee[data-v-32ec0513]{width:34%}.timesheet-list-grid col.col-period[data-v-32ec0513]{width:22%}.timesheet-list-grid col.col-weekly[data-v-32ec0513],.timesheet-list-grid col.col-total[data-v-32ec0513]{width:20%}.timesheet-list-grid col.col-actions[data-v-32ec0513]{width:64px}.timesheet-table .pill-btn.tiny.icon[data-v-32ec0513]{min-width:28px;padding:.25rem;border-radius:10px}.timesheet-table .pill-btn.tiny.icon .icon-svg[data-v-32ec0513]{width:14px;height:14px}.timesheet-head-line[data-v-32ec0513],.timesheet-head-sub[data-v-32ec0513]{display:block}.timesheet-head-sub[data-v-32ec0513]{font-size:10px;color:#64748b}.page-shell.dark .timesheet-head-sub[data-v-32ec0513]{color:#94a3b8}.timesheet-head[data-v-32ec0513]{justify-content:space-between}.timesheet-sidebar[data-v-32ec0513]{display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.timesheet-calendar-wrap[data-v-32ec0513],.timesheet-export-cal-wrap[data-v-32ec0513]{position:relative;width:100%}.timesheet-calendar-trigger[data-v-32ec0513]{width:100%;height:34px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font:inherit;font-size:12.5px;color:#0f172a;background:#fff;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.timesheet-calendar-trigger[data-v-32ec0513]:hover{border-color:#6366f1}.timesheet-calendar-trigger[data-v-32ec0513]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.timesheet-calendar-dropdown[data-v-32ec0513]{width:220px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 24px #0f172a26;padding:10px;z-index:50}.timesheet-calendar-header[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.timesheet-calendar-month-label[data-v-32ec0513]{font-size:12px;font-weight:700;color:#0f172a}.timesheet-calendar-nav[data-v-32ec0513]{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#64748b}.timesheet-calendar-nav[data-v-32ec0513]:hover{background:#f1f5f9;color:#0f172a}.timesheet-calendar-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.timesheet-calendar-weekday[data-v-32ec0513]{font-size:10px;font-weight:700;color:#94a3b8;text-align:center;padding:2px 0 4px}.timesheet-calendar-day[data-v-32ec0513]{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font:inherit;font-size:11px;font-weight:500;color:#0f172a;background:transparent;border:none;border-radius:6px;cursor:pointer}.timesheet-calendar-day[data-v-32ec0513]:hover:not(:disabled){background:#f1f5f9}.timesheet-calendar-day.is-today[data-v-32ec0513]{color:#6366f1;font-weight:700}.timesheet-calendar-day.is-selected[data-v-32ec0513]{background:#6366f1;color:#fff!important;font-weight:700}.timesheet-calendar-day.is-empty[data-v-32ec0513]{cursor:default}.page-shell.dark .timesheet-calendar-trigger[data-v-32ec0513]{background:#1e293b;color:#e2e8f0;border-color:var(--border)}.page-shell.dark .timesheet-calendar-trigger[data-v-32ec0513]:hover{border-color:#6366f1}.page-shell.dark .timesheet-calendar-dropdown[data-v-32ec0513],.timesheet-calendar-dropdown.dark[data-v-32ec0513]{background:#0f172a;border-color:#1e293b;box-shadow:0 16px 28px #00000080}.page-shell.dark .timesheet-calendar-month-label[data-v-32ec0513],.timesheet-calendar-dropdown.dark .timesheet-calendar-month-label[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .timesheet-calendar-nav[data-v-32ec0513],.timesheet-calendar-dropdown.dark .timesheet-calendar-nav[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .timesheet-calendar-nav[data-v-32ec0513]:hover,.timesheet-calendar-dropdown.dark .timesheet-calendar-nav[data-v-32ec0513]:hover{background:#1e293b;color:#e2e8f0}.page-shell.dark .timesheet-calendar-day[data-v-32ec0513],.timesheet-calendar-dropdown.dark .timesheet-calendar-day[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .timesheet-calendar-day[data-v-32ec0513]:hover:not(:disabled),.timesheet-calendar-dropdown.dark .timesheet-calendar-day[data-v-32ec0513]:hover:not(:disabled){background:#1e293b}.timesheet-sidebar-date[data-v-32ec0513]{width:100%;height:34px;padding:0 10px;font-size:12.5px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:#0f172a;outline:none;font:inherit;transition:border-color .15s,box-shadow .15s}.timesheet-sidebar-date[data-v-32ec0513]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.page-shell.dark .timesheet-sidebar-date[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#e2e8f0;color-scheme:dark}.page-shell.dark .timesheet-sidebar-date[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7;cursor:pointer}.page-shell.dark .timesheet-sidebar-date[data-v-32ec0513]:focus{border-color:#3b82f6;background:#0f172a}.timesheet-employee-list[data-v-32ec0513]{flex:1;min-height:0;max-height:none;overflow-y:auto}.timesheet-content[data-v-32ec0513]{display:flex;flex-direction:column;min-height:0;overflow:hidden;flex:1}.timesheet-head-actions[data-v-32ec0513]{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-shrink:0;position:relative;z-index:30;overflow:visible}.timesheet-head-actions .pill-btn.icon[data-v-32ec0513],.timesheet-head-actions .pill-btn.icon[data-v-32ec0513]:disabled{width:28px;height:28px;min-width:28px;padding:0;border:none!important;background:transparent!important;box-shadow:none!important;border-radius:6px!important;transform:none!important;color:var(--btn-muted-text)}.timesheet-head-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled):not(.invoice-generate-pdf-btn){background:#eff6ff!important;border:none!important;color:#2563eb!important;transform:none!important;box-shadow:none!important}.timesheet-head-actions .pill-btn.icon.danger[data-v-32ec0513]{color:var(--btn-muted-text)!important}.timesheet-head-actions .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled){background:#fee2e2!important;color:#dc2626!important}.timesheet-head-actions .pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]:hover:not(:disabled){background:#dcfce7!important;color:#16a34a!important}.page-shell.dark .timesheet-head-actions .pill-btn.icon.danger[data-v-32ec0513]{color:#94a3b8!important}.page-shell.dark .timesheet-head-actions .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled){background:#dc262626!important;color:#f87171!important}.page-shell.dark .timesheet-head-actions .pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]:hover:not(:disabled){background:#16a34a26!important;color:#4ade80!important}.page-shell.dark .timesheet-head-actions .pill-btn.icon[data-v-32ec0513],.page-shell.dark .timesheet-head-actions .pill-btn.icon[data-v-32ec0513]:disabled,.page-shell.dark .timesheet-table-actions .pill-btn.icon[data-v-32ec0513],.page-shell.dark .timesheet-table-actions .pill-btn.icon[data-v-32ec0513]:disabled,.page-shell.dark .timesheet-detail-table .timesheet-action-col .pill-btn.icon[data-v-32ec0513]{border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)}.page-shell.dark .timesheet-head-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled):not(.danger):not(.timesheet-paid-btn):not(.invoice-generate-pdf-btn),.page-shell.dark .timesheet-table-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled):not(.danger):not(.success){background:#2563eb26!important;border:none!important;color:#93c5fd!important;box-shadow:none!important;transform:none!important}.page-shell.dark .timesheet-table-actions .pill-btn.icon.success[data-v-32ec0513]:hover:not(:disabled){background:#16a34a26!important;color:#4ade80!important}.page-shell.dark .timesheet-table-actions .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled){background:#dc262626!important;color:#f87171!important}.page-shell.dark .timesheet-head-actions .pill-btn.icon.danger[data-v-32ec0513],.page-shell.dark .timesheet-table-actions .pill-btn.icon.danger[data-v-32ec0513],.page-shell.dark .timesheet-detail-table .timesheet-action-col .pill-btn.icon.danger[data-v-32ec0513]{color:#94a3b8!important;border:none!important;background:transparent!important;box-shadow:none!important}.page-shell.dark .timesheet-head-actions .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .timesheet-table-actions .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .timesheet-detail-table .timesheet-action-col .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled){color:#f87171!important;background:#dc262626!important;box-shadow:none!important}.timesheet-head-actions .pill-btn .icon-svg[data-v-32ec0513],.timesheet-table-actions .pill-btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.timesheet-upload-tooltip[data-v-32ec0513],.workplan-convert-tooltip[data-v-32ec0513]{display:inline-flex;position:relative}.timesheet-head-controls[data-v-32ec0513]{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:nowrap}.timesheet-head-field[data-v-32ec0513]{display:grid;gap:.35rem;min-width:0;flex:1 1 0}.timesheet-head-field.employee[data-v-32ec0513]{flex:1 1 220px;min-width:180px}.timesheet-head-field.period-ending[data-v-32ec0513]{flex:0 0 160px;min-width:140px}.timesheet-head-label[data-v-32ec0513]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#64748b}.page-shell.dark .timesheet-head-label[data-v-32ec0513]{color:#94a3b8}.timesheet-head-select[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:10px;padding:.6rem 2.2rem .6rem .85rem;background:#f8fafc;font-size:.95rem;font-weight:600;color:#0f172a;box-shadow:0 1px 2px #0f172a0d;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px),100% 0;background-size:6px 6px,6px 6px,2.4rem 100%;background-repeat:no-repeat}.timesheet-head-select[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f}.page-shell.dark .timesheet-head-select[data-v-32ec0513]{background:#0f172a;border-color:#243244;color:#e5e7eb;box-shadow:inset 0 1px #ffffff08;background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%),linear-gradient(to right,transparent,transparent)}.page-shell.dark .timesheet-head-select[data-v-32ec0513]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.timesheet-head-controls .date-input[data-v-32ec0513]{width:100%;border-radius:12px;border:1px solid var(--border);padding:.35rem 1.4rem .35rem .6rem;min-height:32px;background:#f9fafb;font-size:12px;font-weight:600;color:#0f172a;box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f}.timesheet-head-controls .date-input[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb2e,0 10px 20px #2563eb1f}.timesheet-employee-dropdown .invoice-select-menu[data-v-32ec0513]{min-width:220px}.main.dashboard-static[data-v-32ec0513]{padding:0;gap:0;overflow:hidden;scrollbar-gutter:auto}.dashboard-card[data-v-32ec0513]{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:10px 16px 0;background:#fff;border-radius:0;border:none;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.page-center-status-slot[data-v-32ec0513]{position:fixed;top:16px;right:20px;z-index:120;height:auto;display:flex;align-items:flex-start;justify-content:flex-end;width:auto;max-width:min(380px,calc(100vw - 40px));overflow:visible;pointer-events:none}.page-center-status[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:flex-start;position:relative;width:auto;min-width:240px;margin:0;max-width:100%;padding:8px 12px 8px 0;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 18px 36px #0f172a29,0 1px #fffc inset;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:12.5px;font-weight:700;line-height:1.45;color:#1e293b;pointer-events:auto}.page-center-status[data-v-32ec0513]:before{content:"";flex:0 0 auto;align-self:stretch;width:7px;min-height:22px;margin:-8px 11px -8px 0;border-radius:8px 0 0 8px;background:#16a34a}.page-center-status.error-text[data-v-32ec0513]{border-color:var(--border);background:#fff;color:#1e293b}.page-center-status.error-text[data-v-32ec0513]:before{content:"";background:#dc2626}.page-center-status-text[data-v-32ec0513]{min-width:0;flex:1 1 auto}.page-center-status-close[data-v-32ec0513]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:-2px -4px -2px 10px;padding:0;border:none;background:transparent;color:#64748b;font-size:18px;line-height:1;font-weight:500;cursor:pointer}.page-center-status-close[data-v-32ec0513]:hover{color:#dc2626;background:transparent}.dashboard-refresh-status[data-v-32ec0513]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:2;margin:0;max-width:min(calc(100% - 24px),420px);padding:6px 12px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;box-shadow:0 6px 16px #0f172a14;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600;color:#166534;pointer-events:none}.dashboard-refresh-status.error-text[data-v-32ec0513]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.dashboard-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding:2px 0 8px;margin-bottom:0;flex-shrink:0}.dashboard-refresh-btn[data-v-32ec0513]{background:none;border:none;padding:4px;cursor:pointer;color:var(--btn-ghost-text);display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s}.dashboard-refresh-btn[data-v-32ec0513]:hover{color:var(--btn-primary-bg);background:var(--btn-muted-hover-bg)}.dashboard-refresh-btn[data-v-32ec0513]:disabled{opacity:.4;cursor:default;background:none;border:none;box-shadow:none}.dashboard-refresh-btn .icon-spinner[data-v-32ec0513]{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:icon-spin-32ec0513 .8s linear infinite}.dashboard-refresh-btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dashboard-stats-row[data-v-32ec0513]{display:flex;align-items:center;gap:12px}.dashboard-stat[data-v-32ec0513]{display:inline-flex;align-items:baseline;gap:6px}.dashboard-stat-divider[data-v-32ec0513]{width:1px;height:14px;background:#cbd5e1;flex-shrink:0}.dashboard-label[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:600}.dashboard-value[data-v-32ec0513]{font-size:15px;font-weight:700;color:#0f172a}.dashboard-hint[data-v-32ec0513]{margin-top:16px;color:#64748b;font-size:13px}.dashboard-metrics[data-v-32ec0513]{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.dashboard-metric[data-v-32ec0513]{padding:10px 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.dashboard-metric-head[data-v-32ec0513]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.dashboard-metric-label[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:700}.dashboard-metric-value[data-v-32ec0513]{font-size:16px;font-weight:700;color:#0f172a}.dashboard-metric-bar[data-v-32ec0513]{height:8px;background:#eef2f7;border-radius:999px;overflow:hidden}.dashboard-metric-fill[data-v-32ec0513]{display:block;height:100%;border-radius:999px;transition:width .2s ease}.dashboard-metric-fill.metric-blue[data-v-32ec0513]{background:#2563eb}.dashboard-metric-fill.metric-slate[data-v-32ec0513]{background:#64748b}.dashboard-metric-fill.metric-emerald[data-v-32ec0513]{background:#10b981}.dashboard-metric-fill.metric-amber[data-v-32ec0513]{background:#f59e0b}.dashboard-metric-fill.metric-rose[data-v-32ec0513]{background:#f43f5e}.dashboard-project-panel-wrap[data-v-32ec0513]{border-top:1px solid var(--border)}.page-shell.dark .dashboard-project-panel-wrap[data-v-32ec0513]{border-top-color:var(--border)}.dashboard-project-panel[data-v-32ec0513]{margin-top:4px;padding:6px 0 10px;display:flex;flex-direction:row;align-items:stretch;gap:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#94a3b8 #f1f5f9}.dashboard-project-head[data-v-32ec0513]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.dashboard-project-title[data-v-32ec0513]{display:flex;flex-direction:column;gap:4px}.dashboard-project-label[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#64748b}.dashboard-project-sub[data-v-32ec0513]{font-size:12px;color:#94a3b8}.dashboard-project-select[data-v-32ec0513]{min-width:0;max-width:220px;width:min(100%,220px)}.dashboard-project-dropdown .invoice-select-menu[data-v-32ec0513]{max-height:260px}.dashboard-project-charts[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;min-width:0}.dashboard-charts-top-row[data-v-32ec0513]{display:flex;flex-direction:row;flex:1;min-height:0}.dashboard-project-sidebar-title[data-v-32ec0513]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.dashboard-project-sidebar[data-v-32ec0513]{width:200px!important;max-width:200px!important;flex-shrink:0!important;padding-right:1rem!important;padding-left:0!important;border-right:1px solid var(--border)!important;border-left:none!important;scrollbar-width:thin!important;scrollbar-color:#cbd5e1 transparent!important}.sidebar-search-wrap[data-v-32ec0513]{position:relative;display:flex;align-items:center;flex-shrink:0}.sidebar-search-icon[data-v-32ec0513]{position:absolute;left:10px;width:13px;height:13px;stroke:#94a3b8;fill:none;stroke-width:2;stroke-linecap:round;pointer-events:none}.sidebar-search-clear[data-v-32ec0513]{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:#94a3b8;display:flex;align-items:center;padding:2px;border-radius:4px;transition:color .15s}.sidebar-search-clear[data-v-32ec0513]:hover{color:#0f172a}.dashboard-project-sidebar-search[data-v-32ec0513]{width:100%;height:34px;flex-shrink:0;padding:0 28px 0 30px;font-size:12.5px;border:1.5px solid var(--border);border-radius:10px;background:#fff;color:#0f172a;font:inherit;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.dashboard-project-sidebar-search[data-v-32ec0513]:focus{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f126}.dashboard-project-sidebar-search[data-v-32ec0513]::placeholder{color:#94a3b8}.dashboard-project-sidebar-list[data-v-32ec0513]{display:flex;flex-direction:column;overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb, #cbd5e1) var(--scroll-track, transparent)}.dashboard-project-sidebar .dashboard-project-sidebar-list[data-v-32ec0513]{max-height:340px}.dashboard-project-sidebar-item[data-v-32ec0513]{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:500;border-radius:8px;color:#475569;cursor:pointer;transition:background .12s,color .12s;white-space:nowrap;overflow:hidden;border-left:2px solid transparent;-webkit-user-select:none;user-select:none}.dashboard-project-sidebar-item[data-v-32ec0513]:hover{background:#f1f5f9;color:#0f172a}.dashboard-project-sidebar-item.is-active[data-v-32ec0513]{background:#eff6ff;color:#2563eb;font-weight:600;border-left-color:#2563eb}.dashboard-project-sidebar-radio[data-v-32ec0513]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.dashboard-project-sidebar-label[data-v-32ec0513]{white-space:normal;word-break:break-word;line-height:1.3}.dashboard-project-sidebar-empty[data-v-32ec0513]{font-size:12px;color:#94a3b8;padding:6px 8px}.dashboard-chart-card[data-v-32ec0513]{border:none;border-radius:0;padding:2px 0;background:transparent;display:flex;flex-direction:column;gap:4px;min-width:0}.dashboard-chart-card-monthly[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;padding:6px 8px;order:2;border-left:1px solid var(--border)}.dashboard-chart-card-monthly .dashboard-project-chart[data-v-32ec0513]{flex:1;min-height:260px;overflow:auto;overscroll-behavior:none;display:flex;flex-direction:column}.dashboard-chart-card-monthly .dashboard-project-chart-svg-sm[data-v-32ec0513]{display:block;width:100%;flex:1;min-height:220px;min-width:0}.dashboard-chart-card-trend[data-v-32ec0513]{display:flex;flex-direction:column;grid-column:1 / -1;border-top:1px solid var(--border);padding-top:6px}.dashboard-chart-card-global[data-v-32ec0513]{border-top:1px solid var(--border);margin-top:2px;padding:6px 8px 8px;display:flex;flex-direction:column;gap:4px}.dashboard-global-split-chart[data-v-32ec0513]{display:flex;flex-direction:row;align-items:stretch;min-height:320px;gap:0;width:100%}.dashboard-global-split-pane[data-v-32ec0513]{flex:1;min-width:0;display:flex;flex-direction:column}.dashboard-global-split-pane-label[data-v-32ec0513]{position:relative;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;padding:6px 8px 2px}.dashboard-global-split-pane-label>span[data-v-32ec0513]{position:absolute;left:50%;transform:translate(-50%)}.dashboard-global-split-pane-label .chart-expand-btn[data-v-32ec0513]{margin-left:auto}.dashboard-global-split-divider[data-v-32ec0513]{width:1px;background:#e2e8f0;margin:8px 0;flex-shrink:0}.dashboard-global-split-pane+.dashboard-global-split-divider+.dashboard-global-split-pane[data-v-32ec0513]{padding-left:20px}.dashboard-global-split-pane[data-v-32ec0513]:first-child{padding-right:12px}.dashboard-global-pane-legend[data-v-32ec0513]{justify-content:center;padding:6px 8px 8px;flex-wrap:wrap}.dashboard-chart-card-global .dashboard-project-chart[data-v-32ec0513]{flex:1;overflow:auto;overscroll-behavior:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-chart-card-global .dashboard-project-chart-svg-global[data-v-32ec0513]{display:block;width:100%;min-width:0;flex-shrink:0}.dashboard-chart-card-financial[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;padding:6px 14px;order:1}.dashboard-chart-card-financial .dashboard-financial-mix[data-v-32ec0513]{flex:1 1 auto;min-height:0;width:100%;justify-content:center;align-items:center;padding-block:4px}.dashboard-chart-card-financial .dashboard-financial-groups[data-v-32ec0513]{width:min(100%,720px);margin-inline:auto;align-items:start}.dashboard-chart-card-financial .dashboard-financial-legend[data-v-32ec0513]{align-content:start}.dashboard-chart-card-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.dashboard-chart-card-head-copy[data-v-32ec0513]{display:flex;flex-direction:column;gap:4px}.dashboard-chart-controls[data-v-32ec0513]{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}.dashboard-chart-footer[data-v-32ec0513]{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:8px;flex-shrink:0}.dashboard-chart-footer-right[data-v-32ec0513]{display:flex;align-items:center;justify-content:flex-end;gap:8px}.dashboard-chart-legend[data-v-32ec0513]{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;padding-top:2px}.dashboard-chart-legend-item[data-v-32ec0513]{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#64748b;white-space:nowrap}.dashboard-chart-legend-marker[data-v-32ec0513]{position:relative;display:inline-block;flex:0 0 auto}.dashboard-chart-legend-marker.is-bar[data-v-32ec0513]{width:18px;height:10px;border-radius:3px;background:#2563eb}.dashboard-chart-legend-marker.is-bar.is-forecast[data-v-32ec0513]{background:#10b981}.dashboard-chart-legend-marker.is-bar.is-cost-bar[data-v-32ec0513]{background:#f43f5e}.dashboard-chart-legend-marker.is-trend[data-v-32ec0513]{width:26px;height:0;border-top:2.4px dashed #2563eb}.dashboard-chart-legend-marker.is-trend.is-cost[data-v-32ec0513]{border-top-color:#f43f5e}.dashboard-chart-legend-marker.is-trend.is-forecast[data-v-32ec0513]{border-top-color:#10b981}.dashboard-chart-legend-marker.is-line[data-v-32ec0513]{width:26px;height:0;border-top:2.4px solid #2563eb}.dashboard-chart-legend-marker.is-line.is-cost[data-v-32ec0513]{border-top-color:#f43f5e}.dashboard-chart-legend-marker.is-line.is-forecast[data-v-32ec0513]{border-top-color:#10b981;border-top-width:2.4px}.dashboard-chart-mode-toggle[data-v-32ec0513]{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:8px;background:#f1f5f9;border:1px solid var(--border)}.dashboard-chart-range-toggle[data-v-32ec0513]{justify-self:end}.dashboard-chart-zoom-controls[data-v-32ec0513]{display:none;justify-self:start;align-items:center;gap:2px;padding:3px;border-radius:8px;background:#f1f5f9;border:1px solid var(--border)}.dashboard-chart-zoom-btn[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border-radius:6px;border:0;background:transparent;color:var(--btn-muted-text);cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.dashboard-chart-zoom-btn svg[data-v-32ec0513]{width:11px;height:11px}.dashboard-chart-zoom-btn[data-v-32ec0513]:hover:not(:disabled){color:var(--btn-primary-bg);background:var(--btn-muted-hover-bg)}.dashboard-chart-zoom-btn[data-v-32ec0513]:disabled{cursor:not-allowed;color:#cbd5e1}.dashboard-chart-zoom-value[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:19px;border-radius:6px;border:0;background:#fff;color:#0f172a;font-size:11px;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:0 1px 2px #0f172a1a,0 0 0 1px #0f172a0d;transition:color .15s,background .15s}.dashboard-chart-zoom-value[data-v-32ec0513]:hover{color:#1d4ed8;background:#eff6ff}.dashboard-chart-mode-btn[data-v-32ec0513]{position:relative;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#64748b;font-size:11px;font-weight:600;letter-spacing:.03em;padding:4px 10px;border-radius:6px;line-height:1;cursor:pointer;transition:color .15s,background .15s,box-shadow .15s}.dashboard-chart-mode-btn svg[data-v-32ec0513]{width:13px;height:13px;flex-shrink:0}.dashboard-chart-mode-btn[data-v-32ec0513]:hover:not(.is-active){color:#334155;background:#0000000a}.dashboard-chart-mode-btn.is-active[data-v-32ec0513]{color:#1d4ed8;background:#fff;box-shadow:0 1px 3px #0f172a1f,0 0 0 1px #0f172a0f}.dashboard-project-chart[data-v-32ec0513]{width:100%;flex:1;min-height:0;overflow:auto;overscroll-behavior:none;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;display:flex;justify-content:center;align-items:flex-start}.dashboard-project-chart-svg[data-v-32ec0513]{width:100%;max-width:100%;height:220px;flex-shrink:0}.dashboard-project-chart-svg-sm[data-v-32ec0513]{width:100%;height:220px;flex-shrink:0}.dashboard-project-grid line[data-v-32ec0513]{stroke:#eef2f7;stroke-width:.8}.dashboard-project-trendline[data-v-32ec0513]{stroke:#2563eb9e;stroke-width:1.1;stroke-dasharray:2.5 5.5}.dashboard-project-trendline.is-cost[data-v-32ec0513]{stroke:#f43f5eb8}.dashboard-project-trendline.is-forecast[data-v-32ec0513]{stroke:#10b981b8}.dashboard-project-metric-line[data-v-32ec0513]{fill:none;stroke-width:2;opacity:.85;stroke-dasharray:6 6}.dashboard-project-axis[data-v-32ec0513]{fill:none;stroke:#e5e7eb;stroke-width:1;stroke-linecap:square}.dashboard-project-axis-labels text[data-v-32ec0513]{font-size:8px;fill:#94a3b8;font-weight:600;pointer-events:all;transition:transform .16s ease,fill .16s ease;transform-box:fill-box;transform-origin:center}.dashboard-project-axis-labels text[data-v-32ec0513]:hover{transform:scale(1.32);fill:#64748b}.dashboard-project-metric-labels text[data-v-32ec0513]{font-size:10px;font-weight:700;paint-order:stroke;stroke:#ffffffc7;stroke-width:1px;stroke-linejoin:round;pointer-events:all;transition:transform .16s ease;transform-box:fill-box;transform-origin:left center}.dashboard-project-metric-labels text[data-v-32ec0513]:hover{transform:scale(1.32)}.dashboard-project-line[data-v-32ec0513]{fill:none;stroke:#2563eb;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dashboard-project-line-cost[data-v-32ec0513]{stroke:#f43f5e}.dashboard-project-line-forecast[data-v-32ec0513]{stroke:#10b981;stroke-width:2}.dashboard-project-dot[data-v-32ec0513]{fill:#2563eb;stroke:#fff;stroke-width:1.4}.dashboard-project-dot-forecast[data-v-32ec0513]{fill:#10b981}.dashboard-project-dot-current[data-v-32ec0513]{fill:#10b981!important;stroke:#fff;stroke-width:1.4}.dashboard-project-dot-current-invoice[data-v-32ec0513]{fill:#2563eb!important;stroke:#fff;stroke-width:1.4}.dashboard-project-dot-cost[data-v-32ec0513]{fill:#f43f5e;stroke-width:1.5}.dashboard-project-bar[data-v-32ec0513]{fill:#2563eb;opacity:.88;transition:opacity .16s ease}.dashboard-project-bar.is-forecast[data-v-32ec0513]{fill:#10b981;opacity:.92}.dashboard-project-bar.is-cost-bar[data-v-32ec0513]{fill:#f43f5e;opacity:.88}.dashboard-project-bar[data-v-32ec0513]:hover,.dashboard-project-bar[data-v-32ec0513]:focus{opacity:1;outline:none}.dashboard-project-bar.is-muted[data-v-32ec0513]{opacity:.2;pointer-events:none}.dashboard-project-bar-tooltip[data-v-32ec0513]{pointer-events:none}.dashboard-project-bar-tooltip-bg[data-v-32ec0513]{fill:#0f172aeb;stroke:#94a3b859;stroke-width:.8}.dashboard-project-bar-tooltip-title[data-v-32ec0513]{font-size:9px;font-weight:600;fill:#cbd5e1}.dashboard-project-bar-tooltip-detail[data-v-32ec0513]{font-size:9.5px;font-weight:700;fill:#e2e8f0;letter-spacing:0;text-shadow:0 1px 0 rgba(15,23,42,.55)}.dashboard-project-bar-tooltip-detail.is-invoice[data-v-32ec0513]{fill:#dbeafe}.dashboard-project-bar-tooltip-detail.is-forecast[data-v-32ec0513]{fill:#bbf7d0}.dashboard-project-bar-tooltip-detail.is-cost[data-v-32ec0513]{fill:#fecdd3}.dashboard-financial-mix[data-v-32ec0513]{display:flex;flex-direction:column;gap:12px;justify-content:center;align-items:stretch;width:100%}.dashboard-financial-groups[data-v-32ec0513]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;align-items:start;justify-items:center}.dashboard-financial-group[data-v-32ec0513]{display:grid;grid-template-rows:24px auto 1fr;gap:16px;min-width:0;width:100%;max-width:320px;justify-items:center;align-items:start}.dashboard-financial-group-title[data-v-32ec0513]{align-self:center;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:800}.dashboard-financial-donut[data-v-32ec0513]{width:min(210px,100%);aspect-ratio:1 / 1;margin:0 auto 8px;position:relative;display:grid;place-items:center}.dashboard-financial-donut-svg[data-v-32ec0513]{position:absolute;inset:0;width:100%;height:100%}.dashboard-financial-track[data-v-32ec0513]{fill:none;stroke:#e2e8f0;stroke-width:38}.dashboard-financial-segment[data-v-32ec0513]{fill:none;stroke-width:38;stroke-linecap:butt;cursor:pointer;transition:opacity .16s ease}.dashboard-financial-segment[data-v-32ec0513]:hover,.dashboard-financial-segment[data-v-32ec0513]:focus{opacity:.82;outline:none}.dashboard-financial-hole[data-v-32ec0513]{width:62%;aspect-ratio:1 / 1;border-radius:50%;border:1px solid var(--border);background:#fff;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px;text-align:center}.dashboard-financial-hole span[data-v-32ec0513]{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:700}.dashboard-financial-hole strong[data-v-32ec0513]{font-size:13px;color:#0f172a;line-height:1.2;transition:transform .16s ease,font-size .16s ease}.dashboard-financial-hole.is-hovered strong[data-v-32ec0513]{font-size:16px;transform:scale(1.06)}.dashboard-financial-legend[data-v-32ec0513]{display:grid;gap:10px;width:min(100%,280px);justify-self:center}.dashboard-financial-item[data-v-32ec0513]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px}.dashboard-financial-swatch[data-v-32ec0513]{width:10px;height:10px;border-radius:999px;border:1px solid rgba(255,255,255,.9)}.dashboard-financial-name[data-v-32ec0513]{color:#475569;font-weight:600}.dashboard-financial-value[data-v-32ec0513]{color:#0f172a;font-weight:700;display:inline-block;transform-origin:right center;transition:transform .16s ease,color .16s ease,text-shadow .16s ease}.dashboard-financial-value[data-v-32ec0513]:hover,.dashboard-financial-item:hover .dashboard-financial-value[data-v-32ec0513]{transform:scale(1.4);color:#020617;text-shadow:0 1px 0 rgba(148,163,184,.6)}.dashboard-project-empty[data-v-32ec0513]{margin:0;color:#64748b;font-size:13px}.spending-plan-page[data-v-32ec0513]{display:grid;gap:0;flex:1;min-height:0}.spending-plan-card[data-v-32ec0513]{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;gap:0;padding:10px 16px 0;background:#fff;border-left:none;border-right:none;overflow:hidden}.spending-plan-shell[data-v-32ec0513]{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;flex:1;min-height:0;overflow:hidden;padding-top:14px}.spending-plan-sidebar[data-v-32ec0513]{display:flex;flex-direction:column;gap:8px;padding-right:20px;border-right:1px solid var(--border);min-height:0;overflow:hidden}.spending-plan-sidebar .dashboard-project-sidebar-list[data-v-32ec0513]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.spending-plan-sidebar .dashboard-project-sidebar-item[data-v-32ec0513],.invoice-sidebar .dashboard-project-sidebar-item[data-v-32ec0513]{white-space:normal;overflow:visible;align-items:center;padding:6px 10px;font-size:12px;font-weight:500;border-radius:8px;border-left:2px solid transparent}.invoice-sidebar .dashboard-project-sidebar-item.is-active[data-v-32ec0513]{background:#eff6ff;color:#2563eb;font-weight:600;border-left-color:#2563eb}.spending-plan-sidebar .dashboard-project-sidebar-label[data-v-32ec0513],.invoice-sidebar .dashboard-project-sidebar-label[data-v-32ec0513]{white-space:normal;word-break:break-word;font-size:12px;line-height:1.35}.spending-plan-content[data-v-32ec0513]{display:flex;flex-direction:column;gap:0;min-width:0;min-height:0;padding-left:14px;overflow:hidden;flex:1}.spending-plan-head[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:2px 0 12px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;flex-shrink:0}.spending-plan-head-stats[data-v-32ec0513]{display:flex;align-items:center;gap:16px;flex:1}.spending-plan-head-stat[data-v-32ec0513]{display:inline-flex;align-items:baseline;gap:6px}.spending-plan-head-stat-label[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-weight:600}.spending-plan-head-stat-value[data-v-32ec0513]{font-size:15px;font-weight:700;color:#0f172a}.spending-plan-head-stat-value.is-over-budget[data-v-32ec0513]{color:#dc2626}.spending-plan-head-list[data-v-32ec0513]{padding:14px 0;gap:12px}.spending-plan-head-title[data-v-32ec0513]{font-size:15px;font-weight:700;color:var(--text);flex-shrink:0}.sp-search-wrap[data-v-32ec0513]{position:relative;display:flex;align-items:center;flex:1;max-width:300px}.sp-search-icon[data-v-32ec0513]{position:absolute;left:10px;width:14px;height:14px;stroke:var(--text-muted, #94a3b8);fill:none;stroke-width:2;stroke-linecap:round;pointer-events:none}.sp-search-clear[data-v-32ec0513]{position:absolute;right:8px;background:none;border:none;cursor:pointer;color:var(--text-muted, #94a3b8);display:flex;align-items:center;padding:2px}.sp-search-clear[data-v-32ec0513]:hover{color:var(--text, #0f172a)}.sp-search-clear svg[data-v-32ec0513]{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}.spending-plan-list-search[data-v-32ec0513]{width:100%;height:36px;border:1.5px solid var(--border);border-radius:10px;padding:0 32px 0 34px;font-size:13px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.spending-plan-list-search[data-v-32ec0513]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.spending-plan-list-search[data-v-32ec0513]::placeholder{color:var(--text-muted, #94a3b8)}.spending-plan-projects-table[data-v-32ec0513]{flex:1;min-height:0;border:none!important;border-radius:0!important;overflow:auto}.sp-info-wrap[data-v-32ec0513]{position:relative;display:flex;align-items:center}.sp-title-budget[data-v-32ec0513]{font-size:.75em;font-weight:500;color:#16a34a;opacity:.85}.sp-title-budget.is-over[data-v-32ec0513]{color:#dc2626}.sp-info-btn[data-v-32ec0513]{width:18px;height:18px;border-radius:50%;border:1.5px solid #94a3b8;background:transparent;color:#64748b;font-size:11px;font-style:italic;font-weight:600;font-family:Georgia,serif;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:border-color .15s,color .15s}.sp-info-btn[data-v-32ec0513]:hover{border-color:#3b82f6;color:#3b82f6}.sp-info-tooltip[data-v-32ec0513]{position:absolute;top:calc(100% + 6px);right:0;background:#1e293b;color:#f1f5f9;font-size:12px;padding:6px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s;z-index:50}.sp-info-tooltip[data-v-32ec0513]:before{content:"";position:absolute;bottom:100%;right:6px;border:5px solid transparent;border-bottom-color:#1e293b}.sp-info-tooltip--visible[data-v-32ec0513]{opacity:1;transform:translateY(0)}.spending-plan-projects-grid thead th[data-v-32ec0513]{position:sticky;top:0;z-index:2}.spending-plan-card .job-detail-panel[data-v-32ec0513]{border-radius:0;border:none}.spending-plan-card .job-detail-panel-body[data-v-32ec0513]{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column}.spending-plan-card .job-detail-panel-body .history-table[data-v-32ec0513]{flex:1}.spending-plan-card .job-detail-panel-body .spending-plan-table-grid[data-v-32ec0513]{height:100%}.spending-plan-card .job-detail-panel-body .history-table[data-v-32ec0513]{border:none!important;border-radius:0!important}.spending-plan-projects-grid[data-v-32ec0513]{table-layout:fixed;width:100%}.spending-plan-projects-grid th.index[data-v-32ec0513],.spending-plan-projects-grid td.index[data-v-32ec0513]{width:56px}.spending-plan-projects-grid th[data-v-32ec0513]:nth-child(2),.spending-plan-projects-grid td[data-v-32ec0513]:nth-child(2){width:calc((100% - 136px)/4)}.spending-plan-projects-grid th[data-v-32ec0513]:nth-child(3),.spending-plan-projects-grid td[data-v-32ec0513]:nth-child(3){width:calc((100% - 136px)/4)}.spending-plan-projects-grid th[data-v-32ec0513]:nth-child(4),.spending-plan-projects-grid td[data-v-32ec0513]:nth-child(4){width:calc((100% - 136px)/4)}.spending-plan-projects-grid th[data-v-32ec0513]:nth-child(5),.spending-plan-projects-grid td[data-v-32ec0513]:nth-child(5){width:calc((100% - 136px)/4)}.spending-plan-projects-grid th.actions[data-v-32ec0513],.spending-plan-projects-grid td.actions[data-v-32ec0513]{width:80px}.spending-plan-projects-grid td[data-v-32ec0513]{color:#0f172a;height:56px;box-sizing:border-box}.spending-plan-projects-grid .sp-project-name-cell[data-v-32ec0513]{font-weight:400}.spending-plan-projects-grid .sp-jobno-cell[data-v-32ec0513]{font-size:13px}.spending-plan-projects-grid .is-over-budget[data-v-32ec0513]{color:#dc2626;font-weight:700}.sp-row-active td[data-v-32ec0513]{background:#f5f3ff}.sp-panel-row td[data-v-32ec0513]{padding:0}.sp-panel-cell[data-v-32ec0513]{padding:0!important}.spending-plan-auto-toggle[data-v-32ec0513]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.spending-plan-auto-toggle-input[data-v-32ec0513]{display:none}.spending-plan-auto-toggle-track[data-v-32ec0513]{width:36px;height:20px;border-radius:10px;background:var(--border, #e2e8f0);position:relative;transition:background .18s;flex-shrink:0}.spending-plan-auto-toggle-input:checked+.spending-plan-auto-toggle-track[data-v-32ec0513]{background:#22c55e}.spending-plan-auto-toggle-thumb[data-v-32ec0513]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--surface, #fff);box-shadow:0 1px 3px #00000059;transition:left .18s;display:flex;align-items:center;justify-content:center}.spending-plan-auto-toggle-input:checked+.spending-plan-auto-toggle-track .spending-plan-auto-toggle-thumb[data-v-32ec0513]{left:18px;background:#fff}.spending-plan-toggle-icon[data-v-32ec0513]{width:10px;height:10px;color:#94a3b8;flex-shrink:0}.spending-plan-auto-toggle-input:checked+.spending-plan-auto-toggle-track .spending-plan-toggle-icon[data-v-32ec0513]{color:#16a34a}@keyframes sp-spin-32ec0513{to{transform:rotate(360deg)}}.sp-toggle-spinner[data-v-32ec0513]{animation:sp-spin-32ec0513 .8s linear infinite;color:#64748b}.sp-toggle-loading[data-v-32ec0513]{opacity:.75;pointer-events:none}.spending-plan-auto-toggle-label[data-v-32ec0513]{font-size:12px;font-weight:600;color:var(--text-muted, #64748b)}.spending-plan-dots-btn[data-v-32ec0513]{width:28px!important;height:28px!important;padding:0!important;border-radius:6px!important;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;transition:background .15s,color .15s!important}.spending-plan-dots-btn[data-v-32ec0513]:hover,.spending-plan-list-row.is-expanded .spending-plan-dots-btn[data-v-32ec0513]{background:var(--btn-muted-hover-bg)!important;color:var(--btn-primary-bg)!important;transform:none!important;box-shadow:none!important;border-color:transparent!important}.payroll-dots-btn[data-v-32ec0513]{width:28px!important;height:28px!important;padding:0!important;border-radius:6px!important;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background .15s,color .15s!important}td.actions .pill-btn.icon.payroll-dots-btn[data-v-32ec0513]:hover:not(:disabled){background:#eff6ff!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb1f!important;color:#2563eb!important;border-radius:6px!important}.page-shell.dark td.actions .pill-btn.icon.payroll-dots-btn[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;border:1px solid rgba(37,99,235,.35)!important;box-shadow:0 1px 4px #2563eb26!important;color:#93c5fd!important;border-radius:6px!important}.spending-plan-panel[data-v-32ec0513]{padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px;background:#fafbff;border-top:1px solid var(--border)}.spending-plan-panel-toolbar[data-v-32ec0513]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spending-plan-panel-table[data-v-32ec0513]{border:1px solid var(--border);border-radius:8px;overflow:hidden}.spending-plan-save-msg[data-v-32ec0513]{font-size:12px;color:#16a34a;font-weight:500}.spending-plan-save-msg.is-error[data-v-32ec0513]{color:#dc2626}.spending-plan-stat-divider[data-v-32ec0513]{width:1px;height:14px;background:#cbd5e1;flex-shrink:0}.spending-plan-head-actions[data-v-32ec0513]{display:inline-flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.spending-plan-generator[data-v-32ec0513]{display:inline-flex;align-items:center;gap:8px;padding-right:0}.spending-plan-generator-label[data-v-32ec0513]{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.spending-plan-month-count-input[data-v-32ec0513]{width:72px;min-width:72px;text-align:center}.spending-plan-status[data-v-32ec0513]{margin:0;font-size:13px;font-weight:600;color:#166534}.spending-plan-card-status[data-v-32ec0513]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:2;margin:0;width:max-content;max-width:min(calc(100% - 24px),560px);padding:6px 16px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;box-shadow:0 6px 16px #0f172a14;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.4;color:#166534;pointer-events:none}.spending-plan-card-status.error-text[data-v-32ec0513]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.spending-plan-project-select[data-v-32ec0513]{min-width:0;max-width:220px;width:min(100%,220px)}.spending-plan-project-select label[data-v-32ec0513]{color:#64748b}.spending-plan-project-dropdown .invoice-select-menu[data-v-32ec0513]{max-height:260px}.spending-plan-head-actions .pill-btn.icon[data-v-32ec0513]{box-shadow:none}.spending-plan-generate-btn[data-v-32ec0513],.spending-plan-refresh-btn[data-v-32ec0513],.spending-plan-save-btn[data-v-32ec0513],.pill-btn.icon.spending-plan-generate-btn[data-v-32ec0513]:disabled,.pill-btn.icon.spending-plan-refresh-btn[data-v-32ec0513]:disabled,.pill-btn.icon.spending-plan-save-btn[data-v-32ec0513]:disabled{width:28px;height:28px;min-width:28px;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text);padding:0;border-radius:6px!important;transform:none!important}.pill-btn.icon.spending-plan-generate-btn[data-v-32ec0513]:hover,.pill-btn.icon.spending-plan-refresh-btn[data-v-32ec0513]:hover{color:var(--btn-primary-bg);background:var(--btn-muted-hover-bg)!important;box-shadow:none!important;border:none!important;transform:none!important}.spending-plan-save-btn[data-v-32ec0513]{color:var(--btn-primary-bg)}.pill-btn.icon.spending-plan-save-btn[data-v-32ec0513]:hover{color:#16a34a!important;background:#dcfce7!important;box-shadow:none!important;border:none!important;transform:none!important}.overhead-cost-card[data-v-32ec0513]{border-left:none;border-right:none}.overhead-cost-table[data-v-32ec0513]{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.overhead-cost-table-grid[data-v-32ec0513]{table-layout:fixed;width:100%;height:100%}.overhead-cost-table-grid thead th[data-v-32ec0513]{padding:.65rem .9rem;position:sticky;top:0;z-index:1}.overhead-cost-table-grid th.index[data-v-32ec0513],.overhead-cost-table-grid td.index[data-v-32ec0513]{width:56px}.overhead-cost-table-grid th[data-v-32ec0513]:not(.index),.overhead-cost-table-grid td[data-v-32ec0513]:not(.index){width:calc((100% - 56px) / 3)}.overhead-cost-table-grid tbody tr td[data-v-32ec0513]{height:56px;border-bottom:1px solid var(--border)}.overhead-cost-table-grid tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#f8fafc}.overhead-cost-table-grid tbody tr:hover td[data-v-32ec0513]{background:#f1f5f9}.spending-plan-overhead-tfoot-actions[data-v-32ec0513]{display:flex;align-items:center;gap:8px;width:100%}.overhead-tfoot-save-btn[data-v-32ec0513]{margin-left:auto;flex-shrink:0;border-radius:6px!important;transform:none!important;box-shadow:none!important;color:var(--btn-muted-text)}.overhead-tfoot-save-btn[data-v-32ec0513]:hover{background:#dcfce7!important;color:#16a34a!important}.page-shell.dark .overhead-tfoot-save-btn[data-v-32ec0513]:hover{background:#16a34a26!important;color:#4ade80!important}.overhead-cost-table-grid tfoot td[data-v-32ec0513]{border-bottom:none;border-top:1px solid var(--border);font-weight:700;background:#f8fafc;font-size:.83rem;padding:.65rem .9rem;position:sticky;bottom:0;z-index:1}.spending-plan-summary-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.spending-plan-summary-label[data-v-32ec0513]{font-size:14px;color:#334155}.spending-plan-summary-value[data-v-32ec0513]{font-size:24px;line-height:1.15;color:#0f172a}.spending-plan-metric-card[data-v-32ec0513]{display:grid;gap:.25rem;min-height:0;padding:.6rem .75rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc;box-shadow:none}.spending-plan-metric-card.is-muted[data-v-32ec0513]{background:#f8fafc}.spending-plan-metric-card.is-highlight[data-v-32ec0513],.spending-plan-metric-card.is-highlight.is-over-budget[data-v-32ec0513]{background:#f8fafc;border-color:var(--border)}.spending-plan-metric-head[data-v-32ec0513]{display:flex;align-items:start;justify-content:space-between;gap:.5rem}.spending-plan-metric-label[data-v-32ec0513]{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.spending-plan-metric-value[data-v-32ec0513]{font-size:1rem;font-weight:700;line-height:1.2;letter-spacing:0;color:#0f172a;font-variant-numeric:tabular-nums}.spending-plan-metric-value.is-empty[data-v-32ec0513]{font-size:1rem;letter-spacing:0;color:#94a3b8}.spending-plan-metric-hint[data-v-32ec0513]{margin-top:.35rem;font-size:.7rem;font-weight:600;color:#64748b}.spending-plan-metric-chip[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;padding:.18rem .45rem;border-radius:999px;border:1px solid rgba(59,130,246,.18);background:#eff6ffeb;color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.spending-plan-metric-card.is-highlight.is-over-budget .spending-plan-metric-chip[data-v-32ec0513]{border-color:#ef444429;background:#fef2f2eb;color:#b91c1c}.spending-plan-budget-progress[data-v-32ec0513]{display:grid;gap:6px;margin-top:.45rem}.spending-plan-budget-progress-track[data-v-32ec0513]{position:relative;display:block;width:100%;height:8px;overflow:hidden;border-radius:999px;background:#dbeafe}.spending-plan-budget-progress-fill[data-v-32ec0513]{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8)}.spending-plan-metric-card.is-highlight.is-over-budget .spending-plan-budget-progress-track[data-v-32ec0513]{background:#fee2e2}.spending-plan-metric-card.is-highlight.is-over-budget .spending-plan-budget-progress-fill[data-v-32ec0513]{background:linear-gradient(90deg,#ef4444,#f97316)}.spending-plan-budget-progress-meta[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.7rem;font-weight:600;color:#64748b}.spending-plan-table[data-v-32ec0513]{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.spending-plan-table-grid[data-v-32ec0513]{table-layout:fixed;width:100%;height:100%}.spending-plan-table-grid tbody tr td[data-v-32ec0513]{height:56px}.spending-plan-table-grid tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#f8fafc}.spending-plan-table-grid tbody tr.history-empty-row:nth-child(2n) td[data-v-32ec0513]{background:#f8fafc!important}.spending-plan-table-grid tbody tr:hover td[data-v-32ec0513]{background:#f1f5f9}.spending-plan-table-grid th.index[data-v-32ec0513],.spending-plan-table-grid td.index[data-v-32ec0513]{width:56px}.spending-plan-table-grid th.actions[data-v-32ec0513],.spending-plan-table-grid td.actions[data-v-32ec0513]{width:80px}.spending-plan-table-grid th[data-v-32ec0513]:not(.index):not(.actions),.spending-plan-table-grid td[data-v-32ec0513]:not(.index):not(.actions){width:calc((100% - 136px)/4)}.spending-plan-table-grid thead th[data-v-32ec0513]{padding:.65rem .9rem;position:sticky;top:0;z-index:1}.spending-plan-table-grid tfoot tr[data-v-32ec0513]{position:sticky;bottom:0;z-index:1}.spending-plan-table-grid tfoot td[data-v-32ec0513]{border-bottom:none;border-top:1px solid var(--border);font-weight:700;background:#f8fafc;font-size:.83rem;padding:.65rem .9rem;position:sticky;bottom:0;z-index:1}.spending-plan-estimate-direct-write[data-v-32ec0513]{display:inline-flex;align-items:center;gap:4px}.spending-plan-estimate-card[data-v-32ec0513]{position:relative;display:grid;gap:12px;min-height:168px;padding:18px 16px 16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 14px 30px #0f172a12,0 2px #0f172a0a;transition:transform .14s ease,box-shadow .14s ease}.spending-plan-estimate-card[data-v-32ec0513]:focus-within{transform:translateY(-2px);box-shadow:0 16px 24px #0f172a1a,0 3px #0f172a0f}.spending-plan-estimate-card-head[data-v-32ec0513]{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}.spending-plan-estimate-card-actions[data-v-32ec0513]{display:flex;align-items:start;gap:8px;flex:0 0 auto}.spending-plan-estimate-period[data-v-32ec0513]{display:flex;align-items:baseline;gap:10px;min-width:0}.spending-plan-estimate-period-month[data-v-32ec0513]{font-size:.83rem;font-weight:600;color:#0f172a}.spending-plan-estimate-period-year[data-v-32ec0513]{font-size:.75rem;font-weight:400;color:#94a3b8}.spending-plan-estimate-delete-btn[data-v-32ec0513]{flex:0 0 auto;width:28px!important;height:28px!important;padding:0!important;border-radius:6px!important;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background .15s,color .15s!important}.spending-plan-estimate-delete-btn[data-v-32ec0513]:hover:not(:disabled),td.actions .pill-btn.icon.spending-plan-estimate-delete-btn[data-v-32ec0513]:hover:not(:disabled){background:#fee2e2!important;color:#dc2626!important;transform:none!important;box-shadow:none!important;border-color:transparent!important}.spending-plan-estimate-card-meta[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px}.spending-plan-estimate-invoice-no[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;padding:.24rem .55rem;border-radius:999px;border:1px solid rgba(59,130,246,.12);background:#eff6ff;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1d4ed8}.spending-plan-estimate-card-tag[data-v-32ec0513]{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748be6}.spending-plan-estimate-direct-write[data-v-32ec0513]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:8px;min-width:0;margin-top:auto;padding-top:14px}.spending-plan-estimate-inline-prefix[data-v-32ec0513]{flex:0 0 auto;font-size:22px;font-weight:800;line-height:1;color:#64748b}.spending-plan-estimate-inline-input[data-v-32ec0513]{width:100%;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:#0f172a}.spending-plan-estimate-inline-input[data-v-32ec0513]::placeholder{color:#64748b6b}.spending-plan-estimate-inline-input[data-v-32ec0513]:focus{outline:none}.spending-plan-estimate-direct-write.is-locked[data-v-32ec0513]{opacity:.6;cursor:not-allowed}.spending-plan-estimate-direct-write.is-locked .spending-plan-estimate-inline-input[data-v-32ec0513]{cursor:not-allowed;background:transparent}.sp-lock-icon[data-v-32ec0513]{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.spending-plan-estimate-direct-write[data-v-32ec0513]{position:relative}.spending-plan-estimate-empty[data-v-32ec0513]{display:grid;place-items:center;min-height:170px;border:1px dashed #d1d9e7;border-radius:18px;padding:24px 16px;text-align:center;color:#94a3b8;font-size:13px;background:linear-gradient(180deg,#fff,#f8fafc)}.spending-plan-estimate-total-row[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.spending-plan-overhead[data-v-32ec0513]{position:relative;display:grid;gap:16px;flex:1;min-height:0;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fff;border-left:none;border-right:none;overflow:auto;box-shadow:none}.spending-plan-overhead-head[data-v-32ec0513]{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}.spending-plan-overhead-head-main[data-v-32ec0513]{display:flex;align-items:start;flex-wrap:wrap}.spending-plan-overhead-actions[data-v-32ec0513]{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.spending-plan-overhead-year-control[data-v-32ec0513]{display:grid;gap:6px;justify-items:start}.spending-plan-overhead-refresh-btn[data-v-32ec0513],.spending-plan-overhead-save-btn[data-v-32ec0513]{flex:0 0 auto}.spending-plan-overhead-year-dropdown[data-v-32ec0513]{position:relative}.spending-plan-overhead-year-dropdown .invoice-select-trigger[data-v-32ec0513],.spending-plan-overhead-year-dropdown .invoice-select-menu[data-v-32ec0513]{width:120px;min-width:120px}.spending-plan-overhead-status[data-v-32ec0513]{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:2;margin:0;width:max-content;max-width:min(calc(100% - 24px),560px);padding:6px 16px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;box-shadow:0 6px 16px #0f172a14;text-align:center;white-space:normal;overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.4;color:#166534}.spending-plan-overhead-status.error-text[data-v-32ec0513]{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.spending-plan-overhead-calendar[data-v-32ec0513]{display:grid;grid-template-columns:repeat(4,minmax(0,280px));justify-content:center;gap:10px}.spending-plan-overhead-month[data-v-32ec0513]{position:relative;display:grid;gap:10px;min-height:152px;padding:16px 14px 14px;border:1px solid rgba(148,163,184,.42);border-radius:8px 8px 14px 14px;background:#fff;box-shadow:0 10px 18px #0f172a0f,0 2px #0f172a0a;transition:transform .14s ease,box-shadow .14s ease}.spending-plan-overhead-month[data-v-32ec0513]:nth-child(4n+2){transform:rotate(-.8deg)}.spending-plan-overhead-month[data-v-32ec0513]:nth-child(4n+3){transform:rotate(.9deg)}.spending-plan-overhead-month[data-v-32ec0513]:nth-child(4n+4){transform:rotate(-.45deg)}.spending-plan-overhead-month[data-v-32ec0513]:focus-within{transform:translateY(-2px);box-shadow:0 16px 24px #0f172a1a,0 3px #0f172a0f}.spending-plan-overhead-month-head[data-v-32ec0513]{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.spending-plan-overhead-month-label[data-v-32ec0513]{font-size:14px;font-weight:700;letter-spacing:.01em;color:#0f172a}.spending-plan-overhead-month-year[data-v-32ec0513]{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#334155bd}.spending-plan-overhead-direct-write[data-v-32ec0513]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:8px;min-width:0;margin-top:auto;padding-top:14px}.spending-plan-overhead-inline-prefix[data-v-32ec0513]{flex:0 0 auto;font-size:22px;font-weight:800;line-height:1;color:#64748b}.spending-plan-overhead-inline-input[data-v-32ec0513]{width:100%;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;font-size:32px;font-weight:800;letter-spacing:-.04em;line-height:1.05;color:#0f172a}.spending-plan-overhead-inline-input[data-v-32ec0513]::placeholder{color:#64748b6b}.spending-plan-overhead-inline-input[data-v-32ec0513]:focus{outline:none}.spending-plan-overhead-total-row[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 0}.spending-plan-table-wrap[data-v-32ec0513]{border:1px solid var(--border);border-radius:12px;overflow:auto}.spending-plan-table[data-v-32ec0513]{width:100%;border-collapse:collapse;min-width:760px}.spending-plan-table th[data-v-32ec0513],.spending-plan-table td[data-v-32ec0513]{padding:9px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle}.spending-plan-table th[data-v-32ec0513]:last-child,.spending-plan-table td[data-v-32ec0513]:last-child{border-right:0}.spending-plan-table thead th[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#f8fafc}.spending-plan-table td.actions[data-v-32ec0513],.spending-plan-table th.actions[data-v-32ec0513]{width:72px;text-align:center}.spending-plan-input[data-v-32ec0513]{width:100%;min-width:88px;height:34px;border:1px solid #d1d9e7;border-radius:8px;padding:0 10px;background:#fff;color:#0f172a;font-size:13px}.spending-plan-input[data-v-32ec0513]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.spending-plan-amount-input-wrap[data-v-32ec0513]{display:flex;align-items:center;gap:8px}.spending-plan-amount-prefix[data-v-32ec0513]{font-size:13px;color:#64748b}.spending-plan-input-amount[data-v-32ec0513]{min-width:140px}.spending-plan-empty[data-v-32ec0513]{text-align:center;color:#94a3b8;font-size:13px;padding:14px 10px}.spending-plan-table tfoot th[data-v-32ec0513],.spending-plan-table tfoot td[data-v-32ec0513]{background:#f8fafc;font-weight:700}.spending-plan-total[data-v-32ec0513]{text-align:right;color:#0f172a}.page-shell.dark .dashboard-stat-divider[data-v-32ec0513]{background:#334155}.page-shell.dark .dashboard-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-value[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .dashboard-metric[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .dashboard-metric-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-metric-value[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .dashboard-metric-bar[data-v-32ec0513]{background:#1e293b}.page-shell.dark .dashboard-project-panel[data-v-32ec0513]{border-color:var(--border);border-top-width:.25px;scrollbar-color:#475569 #1e293b}.page-shell.dark .dashboard-chart-card[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .dashboard-project-sidebar[data-v-32ec0513]{border-right-width:.25px;border-right-color:var(--border)}.page-shell.dark .dashboard-project-sidebar-search[data-v-32ec0513]{border-color:var(--border);background:#0b1220;color:#e2e8f0}.page-shell.dark .dashboard-project-sidebar-search[data-v-32ec0513]:focus{border-color:#6366f1;background:#0f172a;box-shadow:0 0 0 3px #6366f133}.page-shell.dark .sidebar-search-icon[data-v-32ec0513]{stroke:#475569}.page-shell.dark .sidebar-search-clear[data-v-32ec0513]{color:#475569}.page-shell.dark .sidebar-search-clear[data-v-32ec0513]:hover{color:#e2e8f0}.page-shell.dark .dashboard-project-sidebar-item[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-project-sidebar-item[data-v-32ec0513]:hover{background:#1e293b;color:#e2e8f0}.page-shell.dark .dashboard-project-sidebar-item.is-active[data-v-32ec0513]{background:#1e3a5f;color:#60a5fa;border-left-color:#3b82f6}.page-shell.dark .dashboard-chart-card-monthly[data-v-32ec0513]{border-left-width:.25px;border-left-color:var(--border)}.page-shell.dark .dashboard-chart-card-global[data-v-32ec0513]{border-top-width:.25px;border-top-color:var(--border)}.page-shell.dark .dashboard-global-split-divider[data-v-32ec0513]{background:var(--border)}.page-shell.dark .dashboard-project-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-project-sub[data-v-32ec0513]{color:#64748b}.page-shell.dark .dashboard-chart-mode-toggle[data-v-32ec0513]{background:#1e293b;border-color:var(--border)}.page-shell.dark .dashboard-chart-mode-btn[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-chart-mode-btn[data-v-32ec0513]:hover:not(.is-active){color:#cbd5e1;background:#ffffff0f}.page-shell.dark .dashboard-chart-mode-btn.is-active[data-v-32ec0513]{color:#60a5fa;background:#0f172a;box-shadow:0 1px 3px #0006,0 0 0 1px #ffffff0f}.page-shell.dark .dashboard-chart-zoom-controls[data-v-32ec0513]{background:#1e293b;border-color:var(--border)}.page-shell.dark .dashboard-chart-zoom-btn[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-chart-zoom-btn[data-v-32ec0513]:hover:not(:disabled){color:#fff;background:var(--btn-muted-hover-bg)}.page-shell.dark .dashboard-chart-zoom-btn[data-v-32ec0513]:disabled{color:#374151}.page-shell.dark .dashboard-chart-zoom-value[data-v-32ec0513]{background:#0f172a;color:#e2e8f0;box-shadow:0 1px 2px #0006,0 0 0 1px #ffffff0f}.page-shell.dark .dashboard-chart-zoom-value[data-v-32ec0513]:hover{color:#60a5fa;background:#111827}.page-shell.dark .dashboard-chart-legend-item[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-chart-legend-marker.is-bar[data-v-32ec0513]{background:#60a5fa}.page-shell.dark .dashboard-chart-legend-marker.is-bar.is-forecast[data-v-32ec0513]{background:#34d399}.page-shell.dark .dashboard-chart-legend-marker.is-line[data-v-32ec0513]{border-top-color:#60a5fa}.page-shell.dark .dashboard-chart-legend-marker.is-line.is-cost[data-v-32ec0513]{border-top-color:#fb7185}.page-shell.dark .dashboard-chart-legend-marker.is-line.is-forecast[data-v-32ec0513],.page-shell.dark .dashboard-chart-legend-marker.is-trend.is-forecast[data-v-32ec0513]{border-top-color:#34d399}.page-shell.dark .dashboard-chart-legend-marker.is-trend[data-v-32ec0513]{border-top-color:#60a5fa}.page-shell.dark .dashboard-chart-legend-marker.is-trend.is-cost[data-v-32ec0513]{border-top-color:#fb7185}.page-shell.dark .dashboard-project-grid line[data-v-32ec0513]{stroke:#f8fafc29;stroke-width:.6}.page-shell.dark .dashboard-project-trendline[data-v-32ec0513]{stroke:#60a5fab8}.page-shell.dark .dashboard-project-trendline.is-cost[data-v-32ec0513]{stroke:#fb7185d1}.page-shell.dark .dashboard-project-trendline.is-forecast[data-v-32ec0513]{stroke:#34d399d1}.page-shell.dark .dashboard-project-axis[data-v-32ec0513]{stroke:#f8fafc8c;stroke-width:.7}.page-shell.dark .dashboard-project-axis-labels text[data-v-32ec0513]{fill:#64748b}.page-shell.dark .dashboard-project-line[data-v-32ec0513]{stroke:#60a5fa}.page-shell.dark .dashboard-project-line-cost[data-v-32ec0513]{stroke:#fb7185}.page-shell.dark .dashboard-project-line-forecast[data-v-32ec0513]{stroke:#34d399}.page-shell.dark .dashboard-project-metric-labels text[data-v-32ec0513]{stroke:#0b1220;stroke-width:1.8px}.page-shell.dark .dashboard-project-dot[data-v-32ec0513]{fill:#60a5fa;stroke:#0b1220}.page-shell.dark .dashboard-project-dot-forecast[data-v-32ec0513]{fill:#34d399}.page-shell.dark .dashboard-project-dot-current[data-v-32ec0513]{fill:#34d399!important;stroke:#0b1220}.page-shell.dark .dashboard-project-dot-current-invoice[data-v-32ec0513]{fill:#60a5fa!important;stroke:#0b1220}.page-shell.dark .dashboard-project-dot-cost[data-v-32ec0513]{fill:#fb7185;stroke:#0b1220}.page-shell.dark .dashboard-project-bar[data-v-32ec0513]{fill:#60a5fa}.page-shell.dark .dashboard-project-bar.is-cost-bar[data-v-32ec0513]{fill:#fb7185}.page-shell.dark .dashboard-project-bar.is-forecast[data-v-32ec0513]{fill:#34d399}.page-shell.dark .dashboard-financial-hole[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.page-shell.dark .dashboard-financial-track[data-v-32ec0513]{stroke:#1f2937}.page-shell.dark .dashboard-financial-hole span[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-financial-hole strong[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .dashboard-financial-group-title[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-financial-name[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .dashboard-financial-value[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .dashboard-financial-value[data-v-32ec0513]:hover,.page-shell.dark .dashboard-financial-item:hover .dashboard-financial-value[data-v-32ec0513]{color:#f8fafc;text-shadow:0 1px 0 rgba(15,23,42,.75)}.page-shell.dark .dashboard-project-empty[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-summary[data-v-32ec0513],.page-shell.dark .spending-plan-overhead[data-v-32ec0513],.page-shell.dark .spending-plan-table-wrap[data-v-32ec0513],.page-shell.dark .spending-plan-estimate-empty[data-v-32ec0513]{border-color:var(--border);background:#0f172a}.page-shell.dark .spending-plan-card[data-v-32ec0513],.page-shell.dark .spending-plan-overhead[data-v-32ec0513]{border-color:var(--border);border-width:.25px;background:#0f172a}.page-shell.dark .spending-plan-sidebar[data-v-32ec0513]{border-right-color:var(--border)}.page-shell.dark .spending-plan-table-wrap[data-v-32ec0513],.page-shell.dark .spending-plan-estimate-empty[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .spending-plan-overhead[data-v-32ec0513]{box-shadow:none}.page-shell.dark .spending-plan-head[data-v-32ec0513]{background:transparent;border-bottom-width:.25px;border-bottom-color:var(--border);box-shadow:none}.page-shell.dark .spending-plan-head-actions[data-v-32ec0513]{box-shadow:none}.page-shell.dark .spending-plan-head-stat-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-head-stat-value[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .spending-plan-stat-divider[data-v-32ec0513]{background:#334155}.page-shell.dark .spending-plan-project-select label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .pill-btn.icon.spending-plan-generate-btn[data-v-32ec0513],.page-shell.dark .pill-btn.icon.spending-plan-refresh-btn[data-v-32ec0513],.page-shell.dark .pill-btn.icon.spending-plan-save-btn[data-v-32ec0513],.page-shell.dark .pill-btn.icon.spending-plan-generate-btn[data-v-32ec0513]:disabled,.page-shell.dark .pill-btn.icon.spending-plan-refresh-btn[data-v-32ec0513]:disabled,.page-shell.dark .pill-btn.icon.spending-plan-save-btn[data-v-32ec0513]:disabled{border:none;background:transparent;box-shadow:none;color:#94a3b8}.page-shell.dark .pill-btn.icon.spending-plan-generate-btn[data-v-32ec0513]:hover,.page-shell.dark .pill-btn.icon.spending-plan-refresh-btn[data-v-32ec0513]:hover{color:#fff;background:var(--btn-muted-hover-bg)!important;box-shadow:none!important;transform:none!important}.page-shell.dark .pill-btn.icon.spending-plan-save-btn[data-v-32ec0513]:hover{color:#4ade80!important;background:#16a34a26!important;box-shadow:none!important;transform:none!important}.page-shell.dark .spending-plan-summary-row[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .spending-plan-summary-label[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .spending-plan-metric-card[data-v-32ec0513]{border-color:var(--border);background:#0f172a;box-shadow:none}.page-shell.dark .spending-plan-metric-card.is-muted[data-v-32ec0513]{background:#0f172a}.page-shell.dark .spending-plan-metric-card.is-highlight[data-v-32ec0513],.page-shell.dark .spending-plan-metric-card.is-highlight.is-over-budget[data-v-32ec0513]{border-color:var(--border);background:#0f172a}.page-shell.dark .spending-plan-metric-label[data-v-32ec0513],.page-shell.dark .spending-plan-metric-hint[data-v-32ec0513],.page-shell.dark .spending-plan-budget-progress-meta[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-metric-value[data-v-32ec0513]{color:#f8fafc}.page-shell.dark .spending-plan-metric-value.is-empty[data-v-32ec0513]{color:#64748b}.page-shell.dark .spending-plan-metric-chip[data-v-32ec0513]{border-color:#60a5fa3d;background:#1e40af47;color:#bfdbfe}.page-shell.dark .spending-plan-metric-card.is-highlight.is-over-budget .spending-plan-metric-chip[data-v-32ec0513]{border-color:#f8717142;background:#7f1d1d57;color:#fecaca}.page-shell.dark .spending-plan-budget-progress-track[data-v-32ec0513]{background:#3b82f624}.page-shell.dark .spending-plan-metric-card.is-highlight.is-over-budget .spending-plan-budget-progress-track[data-v-32ec0513]{background:#ef444429}.page-shell.dark .spending-plan-estimate-card[data-v-32ec0513]{border-color:var(--border);background:linear-gradient(180deg,#111827,#0f172a);box-shadow:0 10px 18px #0000004d,0 2px #0000002e}.page-shell.dark .spending-plan-estimate-invoice-no[data-v-32ec0513]{border-color:#60a5fa33;background:#1e40af47;color:#bfdbfe}.page-shell.dark .spending-plan-estimate-period-month[data-v-32ec0513]{color:#f8fafc}.page-shell.dark .spending-plan-estimate-period-year[data-v-32ec0513]{color:#e2e8f0ad}.page-shell.dark .spending-plan-estimate-card-tag[data-v-32ec0513],.page-shell.dark .spending-plan-estimate-inline-prefix[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-estimate-inline-input[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .spending-plan-estimate-inline-input[data-v-32ec0513]::placeholder{color:#94a3b866}.page-shell.dark .spending-plan-dots-btn[data-v-32ec0513]{color:#94a3b8!important}.page-shell.dark .spending-plan-dots-btn[data-v-32ec0513]:hover,.page-shell.dark .spending-plan-list-row.is-expanded .spending-plan-dots-btn[data-v-32ec0513]{background:var(--btn-muted-hover-bg)!important;color:#fff!important}.page-shell.dark .spending-plan-estimate-delete-btn[data-v-32ec0513]{color:#94a3b8!important}.page-shell.dark .spending-plan-estimate-delete-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark td.actions .pill-btn.icon.spending-plan-estimate-delete-btn[data-v-32ec0513]:hover:not(:disabled){color:#f87171!important;background:#dc262626!important;border-color:transparent!important}.page-shell.dark .spending-plan-overhead-month[data-v-32ec0513]{border-color:#47556999;background:#111827;box-shadow:0 18px 28px #0000004d,0 3px #0003}.page-shell.dark .spending-plan-overhead-month-label[data-v-32ec0513]{color:#f8fafc}.page-shell.dark .spending-plan-overhead-month-year[data-v-32ec0513]{color:#e2e8f0ad}.page-shell.dark .spending-plan-overhead-inline-prefix[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-overhead-inline-input[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .spending-plan-overhead-inline-input[data-v-32ec0513]::placeholder{color:#94a3b866}.page-shell.dark .spending-plan-summary-value[data-v-32ec0513],.page-shell.dark .spending-plan-total[data-v-32ec0513]{color:#f8fafc}.page-shell.dark .spending-plan-estimate-total-row[data-v-32ec0513]{background:transparent;box-shadow:none}.page-shell.dark .spending-plan-table thead th[data-v-32ec0513],.page-shell.dark .spending-plan-table tfoot th[data-v-32ec0513],.page-shell.dark .spending-plan-table tfoot td[data-v-32ec0513]{background:#111827}.page-shell.dark .spending-plan-table th[data-v-32ec0513],.page-shell.dark .spending-plan-table td[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .spending-plan-table thead th[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-table-grid tbody tr td[data-v-32ec0513]{background:#0b1220}.page-shell.dark .spending-plan-table-grid tbody tr:nth-child(2n) td[data-v-32ec0513],.page-shell.dark .spending-plan-table-grid tbody tr.history-empty-row:nth-child(2n) td[data-v-32ec0513],.page-shell.dark .spending-plan-table-grid .history-empty-row td[data-v-32ec0513]{background:#101a2f!important;border-bottom-color:var(--border)!important}.page-shell.dark .spending-plan-table-grid tbody tr:hover td[data-v-32ec0513]{background:#111827}.page-shell.dark .spending-plan-table-grid tfoot td[data-v-32ec0513]{background:#0f172a;border-top-color:var(--border)}.page-shell.dark .spending-plan-table tbody tr:nth-child(2n) td[data-v-32ec0513],.page-shell.dark .timesheet-report-table tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#111c30}.page-shell.dark .spending-plan-table tbody tr td[data-v-32ec0513]{background:#0f172a;border-bottom:1px solid var(--border)}.page-shell.dark .spending-plan-table tbody tr:hover td[data-v-32ec0513]{background:#1e293b}.page-shell.dark .overhead-cost-table-grid thead th[data-v-32ec0513]{background:#111827!important;color:#94a3b8!important;border-color:var(--border)!important}.page-shell.dark .overhead-cost-table-grid th[data-v-32ec0513],.page-shell.dark .overhead-cost-table-grid td[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .overhead-cost-table-grid tbody tr td[data-v-32ec0513]{background:#0b1220!important;border-bottom:1px solid var(--border)!important}.page-shell.dark .overhead-cost-table-grid tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#101a2f!important}.page-shell.dark .overhead-cost-table-grid tbody tr:hover td[data-v-32ec0513]{background:#111827!important}.page-shell.dark .overhead-cost-table-grid tfoot td[data-v-32ec0513]{background:#0f172a!important;border-top-color:var(--border)!important}.page-shell.dark .spending-plan-input[data-v-32ec0513]{border-color:#243244;background:#0b1220;color:#e2e8f0;color-scheme:dark}.page-shell.dark .spending-plan-input[data-v-32ec0513]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.page-shell.dark .spending-plan-generator-label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .spending-plan-status[data-v-32ec0513]{color:#86efac}.page-shell.dark .spending-plan-card-status[data-v-32ec0513]{border-color:#22c55e42;background:#14532d59;box-shadow:0 6px 16px #0000003d}.page-shell.dark .spending-plan-card-status.error-text[data-v-32ec0513]{border-color:#f8717147;background:#7f1d1d59;color:#fecaca}.page-shell.dark .chart-expand-btn[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .chart-expand-btn[data-v-32ec0513]:hover{color:#fff;background:var(--btn-muted-hover-bg)}.page-shell.dark .dashboard-refresh-btn[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .dashboard-refresh-btn[data-v-32ec0513]:hover{color:#fff;background:var(--btn-muted-hover-bg)}.page-shell.dark .dashboard-refresh-status[data-v-32ec0513]{border-color:#22c55e42;background:#14532d59;box-shadow:0 6px 16px #0000003d;color:#86efac}.page-shell.dark .page-center-status[data-v-32ec0513]{border-color:#cbd5e147;background:#0f172a;box-shadow:0 20px 40px #00000061,0 1px #ffffff14 inset;color:#e2e8f0}.page-shell.dark .page-center-status.error-text[data-v-32ec0513]{border-color:#cbd5e147;background:#0f172a;color:#e2e8f0}.page-shell.dark .page-center-status-close[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .page-center-status-close[data-v-32ec0513]:hover{color:#dc2626;background:transparent}.page-shell.dark .dashboard-refresh-status.error-text[data-v-32ec0513]{border-color:#f8717147;background:#7f1d1d59;color:#fecaca}.page-shell.dark .spending-plan-overhead-status[data-v-32ec0513]{border-color:#22c55e42;background:#14532d59;box-shadow:0 6px 16px #0000003d}.page-shell.dark .spending-plan-overhead-status.error-text[data-v-32ec0513]{border-color:#f8717147;background:#7f1d1d59;color:#fecaca}.page-shell.dark .spending-plan-amount-prefix[data-v-32ec0513],.page-shell.dark .spending-plan-empty[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .timesheet-head-controls .date-input[data-v-32ec0513]{background:#0f172a;border-color:#243244;color:#e5e7eb;box-shadow:inset 0 1px #ffffff08;color-scheme:dark}.page-shell.dark .timesheet-head-controls .date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7;cursor:pointer}.page-shell.dark .timesheet-head-controls .date-input[data-v-32ec0513]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.timesheet-empty-alert[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border-radius:12px;background:#fef3c7;color:#92400e;font-weight:600;font-size:13px}.page-shell.dark .timesheet-empty-alert[data-v-32ec0513]{background:#fbbf242e;color:#fcd34d}.timesheet-job-select[data-v-32ec0513]{width:100%}.timesheet-table-actions[data-v-32ec0513]{display:flex;justify-content:flex-start;gap:4px;margin:0;padding:4px 0}.timesheet-table-actions .pill-btn.icon[data-v-32ec0513],.timesheet-table-actions .pill-btn.icon[data-v-32ec0513]:disabled{width:28px;height:28px;min-width:28px;padding:0;border:none!important;background:transparent!important;box-shadow:none!important;border-radius:6px!important;transform:none!important;color:var(--btn-muted-text)}.timesheet-table-actions .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){background:var(--btn-muted-hover-bg)!important;color:var(--btn-primary-bg)!important;box-shadow:none!important;transform:none!important}.timesheet-table-actions .pill-btn.ghost.icon[data-v-32ec0513]{border:none!important;background:transparent!important;box-shadow:none!important}.timesheet-table-actions .pill-btn.icon.success[data-v-32ec0513]:hover:not(:disabled){background:#dcfce7!important;color:#16a34a!important}.timesheet-table-actions .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled){background:#fee2e2!important;color:#dc2626!important}.timesheet-panel[data-v-32ec0513]{display:flex;flex-direction:column;gap:.85rem;min-height:0}.timesheet-list-panel[data-v-32ec0513]{flex:1;min-height:0;overflow:hidden}.timesheet-list-header[data-v-32ec0513]{flex:0 0 auto}.timesheet-list-body[data-v-32ec0513]{flex:1;min-height:0;overflow-y:auto;display:grid;gap:.6rem;padding-right:.2rem;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.timesheet-detail-panel[data-v-32ec0513]{flex:1;min-height:0;position:relative;overflow:visible}.timesheet-paid-label[data-v-32ec0513]{font-size:12px;font-weight:700;color:#16a34a;letter-spacing:.04em}.page-shell.dark .timesheet-paid-label[data-v-32ec0513]{color:#4ade80}.timesheet-tree[data-v-32ec0513]{display:grid;gap:.6rem}.timesheet-tree-inline[data-v-32ec0513]{margin-bottom:.75rem}.timesheet-tree-section[data-v-32ec0513]{border:1px solid rgba(15,23,42,.12);border-radius:12px;background:#fff;overflow:hidden}.page-shell.dark .timesheet-tree-section[data-v-32ec0513]{border-color:var(--border);background:#111827}.timesheet-tree-header[data-v-32ec0513]{display:flex;align-items:center;gap:.4rem}.timesheet-tree-header .timesheet-tree-toggle[data-v-32ec0513]{flex:1;width:auto}.timesheet-group-delete[data-v-32ec0513]{margin-right:.3rem}.timesheet-group-delete.pill-btn.icon[data-v-32ec0513]{width:26px;height:26px;border-radius:9px;box-shadow:0 6px 16px #0f172a1f}.timesheet-group-delete.pill-btn.icon svg[data-v-32ec0513],.timesheet-group-delete.pill-btn.icon .icon-spinner[data-v-32ec0513]{width:12px;height:12px}.timesheet-tree-toggle[data-v-32ec0513]{width:100%;border:none;background:transparent;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.55rem .7rem;text-align:left;font-weight:700;color:#0f172a;cursor:pointer}.timesheet-tree-toggle[data-v-32ec0513]:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.page-shell.dark .timesheet-tree-toggle[data-v-32ec0513]{color:#e2e8f0}.timesheet-caret[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:transform .2s ease}.timesheet-caret.open[data-v-32ec0513]{transform:rotate(180deg)}.timesheet-tree-title[data-v-32ec0513]{font-size:13px}.timesheet-tree-meta[data-v-32ec0513]{font-size:11px;font-weight:600;color:#64748b}.page-shell.dark .timesheet-tree-meta[data-v-32ec0513]{color:#94a3b8}.timesheet-tree-body[data-v-32ec0513]{padding:.4rem .6rem .65rem;display:grid;gap:.5rem}.timesheet-employee-block[data-v-32ec0513]{border:1px solid rgba(15,23,42,.08);border-radius:10px;background:#f8fafc;overflow:hidden}.page-shell.dark .timesheet-employee-block[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.timesheet-employee-toggle[data-v-32ec0513]{font-weight:600;font-size:12.5px}.timesheet-week-list[data-v-32ec0513]{display:grid;gap:.45rem;padding:.5rem .55rem .65rem;border-top:1px solid rgba(15,23,42,.08);background:#fff}.page-shell.dark .timesheet-week-list[data-v-32ec0513]{border-top-color:var(--border);background:#111827}.timesheet-week-row[data-v-32ec0513]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem;border:1px solid rgba(15,23,42,.1);border-radius:10px;background:#fff;padding:.35rem .45rem;transition:border-color .15s ease,box-shadow .15s ease}.page-shell.dark .timesheet-week-row[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.timesheet-week-row.active[data-v-32ec0513]{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}.page-shell.dark .timesheet-week-row.active[data-v-32ec0513]{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.timesheet-week-select[data-v-32ec0513]{border:none;background:transparent;width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.7rem;padding:.2rem .3rem;font:inherit;color:inherit;cursor:pointer}.timesheet-week-main[data-v-32ec0513]{display:grid;gap:.15rem}.timesheet-week-date[data-v-32ec0513]{font-weight:700;font-size:12px}.timesheet-week-sub[data-v-32ec0513]{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.page-shell.dark .timesheet-week-sub[data-v-32ec0513]{color:#94a3b8}.timesheet-week-metrics[data-v-32ec0513]{display:grid;grid-auto-flow:column;align-items:center;gap:.8rem}.timesheet-week-metric[data-v-32ec0513]{display:grid;gap:.1rem;text-align:right}.timesheet-week-metric .label[data-v-32ec0513]{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.page-shell.dark .timesheet-week-metric .label[data-v-32ec0513]{color:#94a3b8}.timesheet-week-metric .value[data-v-32ec0513]{font-weight:700;font-size:11px}.timesheet-week-delete[data-v-32ec0513]{margin-right:.2rem}.employees-layout[data-v-32ec0513]{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.employee-add-inline[data-v-32ec0513]{flex:1;min-height:0;display:flex;flex-direction:column}.employee-add-body[data-v-32ec0513]{overflow-y:auto;padding:16px 0;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.employee-add-body[data-v-32ec0513]::-webkit-scrollbar{width:6px}.employee-add-body[data-v-32ec0513]::-webkit-scrollbar-track{background:transparent}.employee-add-body[data-v-32ec0513]::-webkit-scrollbar-thumb{background:var(--scroll-thumb, #cbd5e1);border-radius:999px}.employee-add-body[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#94a3b8}.page-shell.dark .employee-add-body[data-v-32ec0513]::-webkit-scrollbar-thumb{background:#475569}.page-shell.dark .employee-add-body[data-v-32ec0513]::-webkit-scrollbar-thumb:hover{background:#64748b}.employee-add-body .history-detail-card[data-v-32ec0513]{border:none;border-radius:0;background:transparent;padding:0;box-shadow:none}.employees-head[data-v-32ec0513]{justify-content:flex-end;padding:2px 0 12px;margin-bottom:0;border-bottom:1px solid var(--border)}.page-shell.dark .employees-head[data-v-32ec0513]{border-bottom-width:.25px;border-bottom-color:var(--border)}.employees-head .pill-btn.icon[data-v-32ec0513],.employees-head .pill-btn.icon[data-v-32ec0513]:disabled{width:28px;height:28px;min-width:28px;padding:0;border:none!important;background:transparent!important;box-shadow:none!important;color:var(--btn-muted-text)!important;border-radius:6px!important;transform:none!important}.employees-head .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){border:none!important;box-shadow:none!important;transform:none!important;background:var(--btn-muted-hover-bg)!important;color:var(--btn-primary-bg)!important}.page-shell.dark .employees-head .pill-btn.icon[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;color:#93c5fd!important}.employees-panel[data-v-32ec0513]{display:flex;flex-direction:column;gap:.85rem;min-height:0}.employees-list-panel[data-v-32ec0513]{min-height:0;overflow:hidden}.employees-list-body[data-v-32ec0513]{flex:1;min-height:0;overflow-y:auto;display:grid;gap:.6rem;padding-right:.2rem;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.employees-form[data-v-32ec0513]{display:grid;gap:.75rem}.employees-field[data-v-32ec0513]{display:grid;gap:.35rem}.employees-field label[data-v-32ec0513]{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#64748b}.page-shell.dark .employees-field label[data-v-32ec0513]{color:#94a3b8}.employees-field input[data-v-32ec0513],.employees-field select[data-v-32ec0513]{border:1px solid var(--border);border-radius:14px;padding:.7rem .85rem;background:#f9fafb;font-weight:600;font-size:.92rem;line-height:1.4;color:#0f172a;box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.employees-field input[data-v-32ec0513]::placeholder,.employees-field select[data-v-32ec0513]::placeholder{color:#94a3b8}.employees-field input[data-v-32ec0513]:hover,.employees-field select[data-v-32ec0513]:hover{border-color:#c7d2fe;background:#fff;box-shadow:inset 0 1px #fffffff2,0 8px 18px #0f172a14}.employees-field select[data-v-32ec0513]{appearance:none;padding-right:2.2rem;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.employees-select[data-v-32ec0513]{position:relative}.employees-select .invoice-select-trigger[data-v-32ec0513],.employees-select-trigger[data-v-32ec0513]{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .75rem;height:34px;font:inherit;font-size:12.5px;font-weight:500;background:#fff;color:#0f172a;box-shadow:none;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;transition:border-color .15s,box-shadow .15s;cursor:pointer}.employees-select-trigger .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:#94a3b8;stroke-width:2;fill:none;flex-shrink:0}.employees-select .invoice-select-trigger[data-v-32ec0513]:hover,.employees-select-trigger[data-v-32ec0513]:hover{border-color:#6366f1;box-shadow:none}.employees-select .invoice-select-trigger[data-v-32ec0513]:focus-visible,.employees-select .invoice-select-trigger.open[data-v-32ec0513],.employees-select-trigger[data-v-32ec0513]:focus-visible,.employees-select-trigger.open[data-v-32ec0513]{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.employees-select-menu[data-v-32ec0513]{position:absolute;top:calc(100% + .35rem);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.3rem;box-shadow:0 8px 24px #0f172a1f;display:grid;gap:.15rem;z-index:12;max-height:240px;overflow-y:auto}.employees-select-option[data-v-32ec0513]{border:none;background:transparent;text-align:left;padding:.4rem .6rem;border-radius:7px;font:inherit;font-size:12.5px;font-weight:500;color:#0f172a;cursor:pointer;transition:background .12s}.employees-select-option[data-v-32ec0513]:hover{background:#f1f5f9}.employees-select-option.active[data-v-32ec0513]{background:#e0e7ff;color:#4338ca;font-weight:600}.page-shell.dark .employees-field input[data-v-32ec0513],.page-shell.dark .employees-field select[data-v-32ec0513]{border-color:var(--border);background:#0f172a;color:#e5e7eb;box-shadow:inset 0 1px #ffffff0d,0 10px 18px #00000059}.employees-field input[data-v-32ec0513]:focus,.employees-field select[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb2e,0 10px 20px #2563eb1f}.page-shell.dark .employees-field input[data-v-32ec0513]:focus,.page-shell.dark .employees-field select[data-v-32ec0513]:focus{border-color:#3b82f6;background:#0f172a;box-shadow:0 0 0 3px #3b82f647,0 12px 22px #00000073}.page-shell.dark .employees-field select[data-v-32ec0513]{background-image:linear-gradient(45deg,transparent 50%,#94a3b8 50%),linear-gradient(135deg,#94a3b8 50%,transparent 50%)}.employees-inline-input[data-v-32ec0513]{width:100%;min-width:110px;height:34px;padding:.5rem .75rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#0f172a;font:inherit;font-size:12.5px;font-weight:500;transition:border-color .15s,box-shadow .15s;outline:none}.employees-inline-input[data-v-32ec0513]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.employees-inline-input[readonly][data-v-32ec0513],.employees-inline-input[data-v-32ec0513]:disabled{background:#f8fafc;color:#94a3b8;cursor:default}.page-shell.dark .employees-inline-input[data-v-32ec0513]{background:#0f172a;border-color:#94a3b833;color:#e2e8f0}.page-shell.dark .employees-inline-input[data-v-32ec0513]:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.page-shell.dark .employees-inline-input[readonly][data-v-32ec0513],.page-shell.dark .employees-inline-input[data-v-32ec0513]:disabled{background:#0f172a;color:#475569}.page-shell.dark .employees-select .invoice-select-trigger[data-v-32ec0513],.page-shell.dark .employees-select-trigger[data-v-32ec0513]{border-color:#94a3b833;background:#0f172a;color:#e2e8f0;box-shadow:none}.page-shell.dark .employees-select-trigger .icon-svg[data-v-32ec0513]{stroke:#64748b}.page-shell.dark .employees-select-trigger[data-v-32ec0513]:hover{border-color:#6366f1}.page-shell.dark .employees-select-trigger[data-v-32ec0513]:focus-visible,.page-shell.dark .employees-select-trigger.open[data-v-32ec0513]{border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.page-shell.dark .employees-select-menu[data-v-32ec0513]{background:#1e293b;border-color:#94a3b826;box-shadow:0 8px 24px #0006}.page-shell.dark .employees-select-option[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .employees-select-option[data-v-32ec0513]:hover{background:#0f172a}.page-shell.dark .employees-select-option.active[data-v-32ec0513]{background:#6366f133;color:#a5b4fc;font-weight:600}.employees-actions[data-v-32ec0513]{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.employees-table .jobs-table-grid th[data-v-32ec0513],.employees-table .jobs-table-grid td[data-v-32ec0513]{min-width:0;height:56px;box-sizing:border-box}.employees-table .jobs-table-grid th.index[data-v-32ec0513],.employees-table .jobs-table-grid td.index[data-v-32ec0513]{width:44px;min-width:44px;text-align:center}.employees-table .jobs-table-grid th.actions[data-v-32ec0513],.employees-table .jobs-table-grid td.actions[data-v-32ec0513]{width:96px;min-width:96px;text-align:center}.timesheet-list-row[data-v-32ec0513]{cursor:pointer;transition:background .15s ease}.timesheet-list-row[data-v-32ec0513]:hover{background:#2563eb14}.timesheet-list-row.active[data-v-32ec0513]{background:#2563eb1f}.page-shell.dark .timesheet-list-row[data-v-32ec0513]:hover{background:#3b82f62e}.page-shell.dark .timesheet-list-row.active[data-v-32ec0513]{background:#3b82f638}.timesheet-detail[data-v-32ec0513]{display:flex;flex-direction:column;gap:.85rem;min-height:0}.timesheet-meta-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.timesheet-meta-item[data-v-32ec0513]{display:grid;gap:.2rem;background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:.6rem .7rem}.timesheet-meta-item .label[data-v-32ec0513]{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#64748b}.timesheet-meta-item .value[data-v-32ec0513]{font-weight:700;color:#0f172a}.timesheet-total-hours-value[data-v-32ec0513]{display:inline-flex;align-items:baseline;gap:.45rem}.page-shell.dark .timesheet-meta-item[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .timesheet-meta-item .label[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .timesheet-meta-item .value[data-v-32ec0513]{color:#e2e8f0}.timesheet-detail-table-wrap[data-v-32ec0513]{border:none;border-radius:0;overflow:visible;background:#fff}.page-shell.dark .timesheet-detail-table-wrap[data-v-32ec0513]{border:none;background:transparent}.timesheet-detail-table[data-v-32ec0513]{width:100%;border-collapse:collapse;font-size:9.5px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.timesheet-detail-table.edit-mode .timesheet-col-job-name[data-v-32ec0513],.timesheet-col-job-name[data-v-32ec0513],.timesheet-col-job-no[data-v-32ec0513]{width:120px;min-width:120px;max-width:120px}.timesheet-col-work-description[data-v-32ec0513]{width:380px;min-width:380px}.timesheet-day-row th[data-v-32ec0513]{width:72px;min-width:72px}.timesheet-detail-table .timesheet-col-total[data-v-32ec0513]{width:80px;min-width:80px}.timesheet-detail-table th[data-v-32ec0513],.timesheet-detail-table td[data-v-32ec0513]{border:1px solid #111;padding:4px 6px;text-align:left;white-space:nowrap}.timesheet-detail-table thead tr:first-child th[data-v-32ec0513],.timesheet-detail-table thead tr:first-child td[data-v-32ec0513]{border-top:none}.timesheet-detail-table tr th[data-v-32ec0513]:first-child,.timesheet-detail-table tr td[data-v-32ec0513]:first-child{border-left:none}.timesheet-detail-table tr th[data-v-32ec0513]:last-child,.timesheet-detail-table tr td[data-v-32ec0513]:last-child{border-right:none}.timesheet-detail-table tbody tr:last-child th[data-v-32ec0513],.timesheet-detail-table tbody tr:last-child td[data-v-32ec0513]{border-bottom:none}.timesheet-detail-table tbody tr[data-v-32ec0513]{height:56px}.timesheet-detail-table tbody tr td[data-v-32ec0513],.timesheet-detail-table tbody tr th[data-v-32ec0513]{height:56px;max-height:56px;box-sizing:border-box;overflow:hidden}.page-shell.dark .timesheet-detail-table th[data-v-32ec0513],.page-shell.dark .timesheet-detail-table td[data-v-32ec0513]{border-color:var(--border);color:#e2e8f0;background:#0f172a}.page-shell.dark .timesheet-date-row th[data-v-32ec0513]{background:#1e293b;color:#f1f5f9}.page-shell.dark .timesheet-day-row th[data-v-32ec0513]{background:#c2410c;color:#fff}.page-shell.dark .timesheet-total-row td[data-v-32ec0513]{background:#1e293b;color:#f1f5f9}.page-shell.dark .timesheet-detail-table td.timesheet-day-disabled[data-v-32ec0513],.page-shell.dark .timesheet-detail-table th.timesheet-day-disabled[data-v-32ec0513]{background:#1e293b;color:#475569}.page-shell.dark .timesheet-filler-row td[data-v-32ec0513]{background:#0f172a}.page-shell.dark .timesheet-edit-input[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#e2e8f0}.timesheet-detail-table th.numeric[data-v-32ec0513],.timesheet-detail-table td.numeric[data-v-32ec0513]{text-align:right}.timesheet-detail-table .timesheet-action-col[data-v-32ec0513]{width:36px;text-align:center}.timesheet-detail-table .timesheet-action-col .pill-btn.icon.danger[data-v-32ec0513],.timesheet-detail-table .timesheet-action-col .pill-btn.icon.danger[data-v-32ec0513]:disabled{border:none;background:transparent;box-shadow:none;color:#ef4444}.timesheet-detail-table .timesheet-action-col .pill-btn.icon.danger[data-v-32ec0513]:hover:not(:disabled){border:none;background:transparent;box-shadow:none;color:#b91c1c}.timesheet-edit-input[data-v-32ec0513]{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:4px 6px;font-size:9px;height:38px;box-sizing:border-box;background:#fff;font:inherit;color:inherit}.timesheet-edit-input.numeric[data-v-32ec0513]{text-align:right}.timesheet-edit-input[readonly][data-v-32ec0513]{background:#f1f5f9;color:#94a3b8;cursor:default;border-color:#e2e8f0}.page-shell.dark .timesheet-edit-input[readonly][data-v-32ec0513]{background:#1e293b;color:#475569;border-color:#334155}.timesheet-edit-input[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb59}.timesheet-date-row th[data-v-32ec0513]{background:#fff7ed;font-weight:700;position:sticky;top:0;z-index:3;height:24px}.timesheet-day-row th[data-v-32ec0513]{background:#f97316;color:#fff;font-weight:700;text-align:center;position:sticky;top:24px;z-index:3;height:24px}.timesheet-date-cell[data-v-32ec0513]{padding:4px 6px}.timesheet-date-label[data-v-32ec0513]{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;color:#7c2d12}.timesheet-date-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.timesheet-date-value[data-v-32ec0513]{text-align:center;font-weight:700;color:#9a3412}.timesheet-date-value.timesheet-day-disabled[data-v-32ec0513]{color:#94a3b8}.timesheet-detail-table th.timesheet-day-disabled[data-v-32ec0513],.timesheet-detail-table td.timesheet-day-disabled[data-v-32ec0513]{background:#f1f5f9;color:#94a3b8}.timesheet-detail-table td.timesheet-day-disabled .timesheet-edit-input[data-v-32ec0513]{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.timesheet-total-row td[data-v-32ec0513]{font-weight:700;background:#fff7ed;position:sticky;bottom:0;z-index:3}.jobs-table-grid th.index[data-v-32ec0513],.jobs-table-grid td.index[data-v-32ec0513]{min-width:56px;text-align:center;font-variant-numeric:tabular-nums}.jobs-sort-btn[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.2rem;border:none;background:transparent;color:inherit;font-weight:700;cursor:pointer;padding:2px 4px;border-radius:6px;transition:background .15s,color .15s}.jobs-sort-btn[data-v-32ec0513]:hover{background:var(--btn-muted-hover-bg);color:var(--btn-primary-bg)}.jobs-sort-btn[data-v-32ec0513]:focus-visible{outline:none;box-shadow:0 0 0 2px #2563eb59;border-radius:6px}.jobs-sort-icon[data-v-32ec0513]{width:14px;height:14px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.jobs-table-grid th.actions[data-v-32ec0513],.jobs-table-grid td.actions[data-v-32ec0513]{min-width:180px;text-align:right}.jobs-actions[data-v-32ec0513]{display:inline-flex;gap:.4rem;align-items:center;justify-content:flex-end}.jobs-edit-input[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:8px;padding:.3rem .45rem;font-size:.85rem;background:#fff;color:#0f172a}.jobs-status-trigger[data-v-32ec0513]{width:100%;border:1px solid var(--btn-ghost-border);border-radius:12px;padding:.35rem .6rem;min-height:32px;font-size:11px;font-weight:600;background:var(--btn-trigger-bg);color:var(--btn-ghost-text);box-shadow:inset 0 1px #ffffffe6,0 6px 16px #0f172a0f;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.jobs-status-trigger[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;cursor:pointer}.jobs-status-trigger[data-v-32ec0513]:hover{border-color:var(--btn-trigger-hover-border);background:var(--btn-trigger-hover-bg);box-shadow:inset 0 1px #fffffff2,0 8px 18px #0f172a14}.jobs-status-trigger[data-v-32ec0513]:focus-visible{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb2e,0 10px 20px #2563eb1f}.jobs-status-trigger .icon-svg[data-v-32ec0513],.jobs-filter-trigger .icon-svg[data-v-32ec0513]{width:14px;height:14px;stroke:#64748b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.jobs-edit-input.numeric[data-v-32ec0513]{text-align:right;font-variant-numeric:tabular-nums}.page-shell.dark .jobs-edit-input[data-v-32ec0513]{background:#0f172a;color:#e2e8f0;border-color:var(--border)}.page-shell.dark .job-schedule-date-input[data-v-32ec0513]{color-scheme:dark}.page-shell.dark .job-schedule-date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7;cursor:pointer}.page-shell.dark .jobs-status-trigger[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#e5e7eb;box-shadow:inset 0 1px #ffffff0d,0 10px 18px #00000059}.page-shell.dark .jobs-status-trigger[data-v-32ec0513]:hover{border-color:var(--border);background:#0b1220}.page-shell.dark .jobs-status-trigger[data-v-32ec0513]:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f647,0 12px 22px #00000073}.page-shell.dark .jobs-status-trigger .icon-svg[data-v-32ec0513],.page-shell.dark .jobs-filter-trigger .icon-svg[data-v-32ec0513]{stroke:#94a3b8}.jobs-status-select[data-v-32ec0513]{position:relative;z-index:1}.jobs-status-select[data-v-32ec0513]:has(.jobs-status-menu){z-index:200}.jobs-table-grid tr[data-v-32ec0513]:has(.jobs-status-menu),.jobs-table-grid td[data-v-32ec0513]:has(.jobs-status-menu),.jobs-table-grid tr[data-v-32ec0513]:has(.jobs-status-menu-new),.jobs-table-grid td[data-v-32ec0513]:has(.jobs-status-menu-new),.notifications-page-table tr[data-v-32ec0513]:has(.jobs-status-menu-new),.notifications-page-table td[data-v-32ec0513]:has(.jobs-status-menu-new){position:relative;z-index:200;overflow:visible}.jobs-status-trigger-new[data-v-32ec0513]{font-size:.78rem;font-weight:600}.jobs-status-dot[data-v-32ec0513]{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}.jobs-status-dot.status-open[data-v-32ec0513]{background:#16a34a}.jobs-status-dot.status-closed[data-v-32ec0513]{background:#6b7280}.jobs-status-dot.status-pending[data-v-32ec0513]{background:#d97706}.jobs-status-dot.status-on-hold[data-v-32ec0513]{background:#2563eb;outline:2px solid rgba(37,99,235,.35);outline-offset:1px}.jobs-status-menu-new[data-v-32ec0513]{min-width:max-content}.jobs-status-menu-new .invoice-select-option[data-v-32ec0513]{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600}.jobs-status-menu[data-v-32ec0513]{position:absolute;top:calc(100% + .35rem);left:0;min-width:100%;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.3rem;display:grid;gap:.2rem;z-index:90;box-shadow:0 12px 24px #0f172a26;max-height:240px;overflow-y:auto}.jobs-status-option[data-v-32ec0513]{border:none;background:transparent;text-align:left;padding:.4rem .55rem;border-radius:10px;font-weight:600;font-size:11px;cursor:pointer;color:#0f172a}.jobs-status-option[data-v-32ec0513]:hover{background:#f1f5f9}.jobs-status-option.active[data-v-32ec0513]{background:#e0e7ff;color:#1d4ed8}.page-shell.dark .jobs-status-menu[data-v-32ec0513]{background:#111827;border-color:var(--border);box-shadow:0 16px 28px #00000073}.page-shell.dark .jobs-status-option[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .jobs-status-option[data-v-32ec0513]:hover{background:#94a3b82e}.page-shell.dark .jobs-status-option.active[data-v-32ec0513]{background:#3b82f633;color:#93c5fd}.jobs-status-filter-list[data-v-32ec0513]{display:flex;flex-direction:column;gap:2px;padding:2px 0}.jobs-status-filter-radio[data-v-32ec0513]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.jobs-status-filter-item[data-v-32ec0513]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;color:#475569;transition:background .12s,color .12s;-webkit-user-select:none;user-select:none;border-left:2px solid transparent}.jobs-status-filter-item[data-v-32ec0513]:hover{background:#f1f5f9;color:#0f172a}.jobs-status-filter-item.is-active[data-v-32ec0513]{background:#eff6ff;color:#2563eb;font-weight:600;border-left-color:#2563eb}.jobs-status-filter-dot[data-v-32ec0513]{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#cbd5e1;transition:background .12s}.jobs-status-filter-item[data-status=all] .jobs-status-filter-dot[data-v-32ec0513]{background:#94a3b8}.jobs-status-filter-item[data-status=open] .jobs-status-filter-dot[data-v-32ec0513]{background:#22c55e}.jobs-status-filter-item[data-status=closed] .jobs-status-filter-dot[data-v-32ec0513]{background:#ef4444}.jobs-status-filter-item[data-status=pending] .jobs-status-filter-dot[data-v-32ec0513]{background:#f59e0b}.jobs-status-filter-item[data-status=on-hold] .jobs-status-filter-dot[data-v-32ec0513]{background:#94a3b8}.jobs-status-filter-item.is-active .jobs-status-filter-dot[data-v-32ec0513]{background:#2563eb}.jobs-status-filter-label[data-v-32ec0513]{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.page-shell.dark .jobs-status-filter-item[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .jobs-status-filter-item[data-v-32ec0513]:hover{background:#1e293b;color:#e2e8f0}.page-shell.dark .jobs-status-filter-item.is-active[data-v-32ec0513]{background:#1e3a5f;color:#60a5fa;border-left-color:#3b82f6}.page-shell.dark .jobs-status-filter-item.is-active .jobs-status-filter-dot[data-v-32ec0513]{background:#3b82f6}.status-pill[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:#e2e8f0;color:#0f172a}.status-pill-button[data-v-32ec0513]{border:none;cursor:pointer}.status-pill-button[data-v-32ec0513]:disabled{cursor:not-allowed;opacity:.7}.status-open[data-v-32ec0513]{background:#dcfce7;color:#166534}.status-closed[data-v-32ec0513]{background:#e5e7eb;color:#374151}.status-pending[data-v-32ec0513]{background:#fef3c7;color:#92400e}.status-hold[data-v-32ec0513]{background:#ffedd5;color:#9a3412}.status-bad-debt[data-v-32ec0513]{background:#fee2e2;color:#b91c1c}.status-superseded[data-v-32ec0513]{background:#e2e8f0;color:#475569}.status-default[data-v-32ec0513]{background:#e0f2fe;color:#075985}.page-shell.dark .status-pill[data-v-32ec0513]{background:#94a3b840;color:#e2e8f0}.page-shell.dark .status-open[data-v-32ec0513]{background:#22c55e33;color:#bbf7d0}.page-shell.dark .status-closed[data-v-32ec0513]{background:#94a3b833;color:#e2e8f0}.page-shell.dark .status-pending[data-v-32ec0513]{background:#fbbf2433;color:#fde68a}.page-shell.dark .status-hold[data-v-32ec0513]{background:#f9731633;color:#fed7aa}.page-shell.dark .status-bad-debt[data-v-32ec0513]{background:#ef444433;color:#fecaca}.page-shell.dark .status-superseded[data-v-32ec0513]{background:#94a3b840;color:#e2e8f0}.page-shell.dark .status-default[data-v-32ec0513]{background:#38bdf833;color:#bae6fd}.jobs-alert-flags[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem}.jobs-flag-legend[data-v-32ec0513]{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin:0 0 .65rem;font-size:.74rem;color:#334155}.jobs-flag-legend .auto-archive-toggle[data-v-32ec0513]{margin-left:auto}.jobs-flag-legend-item[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.4rem}.jobs-job-number-cell[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.35rem}.jobs-job-number-cell .jobs-alert-flags[data-v-32ec0513]{margin-top:0}.jobs-alert-flag[data-v-32ec0513]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:18px;border-radius:6px;border:1px solid transparent}.jobs-alert-flag-icon[data-v-32ec0513]{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.jobs-alert-flag-red[data-v-32ec0513]{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.jobs-alert-flag-yellow[data-v-32ec0513]{color:#b45309;background:#fef3c7;border-color:#fde68a}.page-shell.dark .jobs-alert-flag-red[data-v-32ec0513]{color:#fecaca;background:#dc26263d;border-color:#f871718c}.page-shell.dark .jobs-alert-flag-yellow[data-v-32ec0513]{color:#fde68a;background:#d977063d;border-color:#fbbf248c}.page-shell.dark .jobs-flag-legend[data-v-32ec0513]{color:#cbd5e1}.jobs-table-grid th[data-v-32ec0513]{background:#f8fafc;font-weight:700}.jobs-table-grid th+th[data-v-32ec0513],.jobs-table-grid td+td[data-v-32ec0513]{border-left:1px solid var(--border)}.jobs-table-grid td.numeric[data-v-32ec0513],.jobs-table-grid th.numeric[data-v-32ec0513]{text-align:right;font-variant-numeric:tabular-nums}.jobs-table-grid tbody tr[data-v-32ec0513]:nth-child(2n):not(.jobs-row-child){background:#f9fafb}.page-shell.dark .jobs-table-grid th[data-v-32ec0513]{background:#111827;color:#e2e8f0}.page-shell.dark .jobs-table-grid td[data-v-32ec0513],.page-shell.dark .jobs-table-grid th[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .jobs-table-grid th+th[data-v-32ec0513],.page-shell.dark .jobs-table-grid td+td[data-v-32ec0513]{border-left-color:var(--border)}.page-shell.dark .jobs-table-grid tbody tr[data-v-32ec0513]:nth-child(2n):not(.jobs-row-child){background:#101a2f}.history-table-grid th[data-v-32ec0513],.history-table-grid td[data-v-32ec0513]{min-width:0}.history-table-grid td.history-date-cell[data-v-32ec0513]{min-width:180px;white-space:nowrap}.history-actions[data-v-32ec0513]{display:inline-flex;align-items:center;gap:.5rem;justify-content:flex-end;justify-self:end}.history-options-head[data-v-32ec0513],.history-options-cell[data-v-32ec0513]{text-align:right}.pill-btn.icon[data-v-32ec0513]{width:34px;height:34px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1;background:#fff;color:#0f172a;border-color:#94a3b899;box-shadow:0 10px 24px #0f172a1f;transition:transform .12s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease,color .2s ease}.pill-btn.icon svg[data-v-32ec0513]{width:16px;height:16px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}.jobs-history-btn[data-v-32ec0513],.job-archive-btn[data-v-32ec0513]{border-radius:6px!important;background:transparent!important;border:none!important;box-shadow:none!important;color:var(--btn-muted-text)!important;transform:none!important;transition:background .15s,color .15s!important}.jobs-history-btn[data-v-32ec0513]:hover:not(:disabled),.job-archive-btn[data-v-32ec0513]:not(.active):hover:not(:disabled){background:var(--btn-muted-hover-bg)!important;color:var(--btn-primary-bg)!important;box-shadow:none!important;transform:none!important;border-color:transparent!important}.page-shell.dark .jobs-history-btn[data-v-32ec0513]:hover:not(:disabled),.page-shell.dark .job-archive-btn[data-v-32ec0513]:not(.active):hover:not(:disabled){color:#fff!important}.jobs-history-btn .icon-svg[data-v-32ec0513],.jobs-archive-btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;overflow:visible;transform:none}.jobs-archive-btn.active[data-v-32ec0513]{background:var(--accent);color:#fff;border-color:var(--accent)}.invoice-history-archive-btn .icon-svg[data-v-32ec0513]{width:16px;height:16px;overflow:visible;transform:none}.invoice-history-archive-btn[data-v-32ec0513]:hover:not(:disabled){background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 12px #2563eb40}.invoice-history-archive-btn.active[data-v-32ec0513]{background:var(--accent);color:#fff;border-color:var(--accent)}.invoice-row-archive-btn.active[data-v-32ec0513]{color:#f59e0b}.inv-ts-save-btn[data-v-32ec0513]:hover:not(:disabled){background:#dcfce7!important;color:#16a34a!important;box-shadow:none!important;border:none!important;transform:none!important}.page-shell.dark .inv-ts-save-btn[data-v-32ec0513]:hover:not(:disabled){background:#16a34a26!important;color:#4ade80!important}.job-archive-btn.active[data-v-32ec0513]{background:#f59e0b;color:#fff;border-color:#f59e0b}.job-detail-panel-header-actions .pill-btn.job-archive-btn.active[data-v-32ec0513]{color:var(--text-strong)!important;background:transparent!important;border-color:transparent!important}.job-detail-panel-header-actions .pill-btn.job-archive-btn.active[data-v-32ec0513]:hover:not(:disabled){background:#eff6ff!important;border-color:#2563eb4d!important;color:#2563eb!important}.page-shell.dark .job-detail-panel-header-actions .pill-btn.job-archive-btn.active[data-v-32ec0513]{color:#475569!important}.page-shell.dark .job-detail-panel-header-actions .pill-btn.job-archive-btn.active[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;border-color:#2563eb59!important;color:#93c5fd!important}.jobs-archive-restore-btn[data-v-32ec0513]{color:var(--text-strong)}.jobs-archive-restore-btn[data-v-32ec0513]:hover:not(:disabled){background:#eff6ff!important;border-color:#2563eb4d!important;color:#2563eb!important}.page-shell.dark .jobs-archive-restore-btn[data-v-32ec0513]{color:#475569}.page-shell.dark .jobs-archive-restore-btn[data-v-32ec0513]:hover:not(:disabled){background:#2563eb26!important;border-color:#2563eb59!important;color:#93c5fd!important}.jobs-archive-empty-msg[data-v-32ec0513]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:.88rem;pointer-events:none}.job-history-panel-body .history-table[data-v-32ec0513]{position:relative}.table-empty-state[data-v-32ec0513]{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:.88rem;pointer-events:none}.table-empty-state svg[data-v-32ec0513]{stroke:var(--text-muted);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.pill-btn.icon .icon-spinner[data-v-32ec0513]{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:icon-spin-32ec0513 .8s linear infinite}@keyframes icon-spin-32ec0513{to{transform:rotate(360deg)}}.pill-btn.icon[data-v-32ec0513]:hover{transform:translateY(-1px);border-color:#2563eb73;background:#f8fafc;box-shadow:0 12px 28px #2563eb2e}.pill-btn.icon[data-v-32ec0513]:active{transform:translateY(0);box-shadow:0 8px 18px #0f172a29}.pill-btn.icon[data-v-32ec0513]:focus-visible{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33,0 10px 24px #0f172a29}.pill-btn.icon.danger[data-v-32ec0513]{color:var(--btn-muted-text);border-color:#94a3b899;background:#fff;box-shadow:none}.pill-btn.icon.danger[data-v-32ec0513]:hover{border-color:#f8717166!important;background:#fee2e2!important;box-shadow:none!important;color:#dc2626!important}.pill-btn.icon.success[data-v-32ec0513]{color:var(--btn-muted-text);border-color:#94a3b899;background:#fff;box-shadow:none}.pill-btn.icon.success[data-v-32ec0513]:hover{border-color:#4ade8066!important;background:#dcfce7!important;box-shadow:none!important;color:#16a34a!important}.pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]{color:var(--btn-muted-text);border:none;background:transparent;box-shadow:none}.pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]:hover{color:#1d4ed8;border:none;background:transparent;box-shadow:none}.pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]:disabled{opacity:.4;color:#64748b;border:none;background:transparent;box-shadow:none;filter:none}.pill-btn.icon.disabled[data-v-32ec0513],.pill-btn.icon[data-v-32ec0513]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none;box-shadow:none;background:#f1f5f9;border-color:var(--border)}.page-shell.dark .pill-btn.icon[data-v-32ec0513]{background:#0f172a;color:#e2e8f0;border-color:#94a3b840;box-shadow:0 10px 22px #00000073}.page-shell.dark .pill-btn.icon[data-v-32ec0513]:hover{border-color:#3b82f699;background:#111827;box-shadow:0 12px 28px #2563eb59}.page-shell.dark .pill-btn.icon[data-v-32ec0513]:focus-visible{box-shadow:0 0 0 3px #3b82f64d,0 10px 24px #0006}.page-shell.dark .pill-btn.icon.danger[data-v-32ec0513]{color:#94a3b8;border-color:#94a3b84d;background:transparent;box-shadow:none}.page-shell.dark .pill-btn.icon.danger[data-v-32ec0513]:hover{border-color:#f8717166!important;background:#dc262626!important;color:#f87171!important;box-shadow:none!important}.page-shell.dark .pill-btn.icon.success[data-v-32ec0513]{color:#94a3b8;border-color:#94a3b84d;background:transparent;box-shadow:none}.page-shell.dark .pill-btn.icon.success[data-v-32ec0513]:hover{border-color:#4ade8066!important;background:#16a34a26!important;color:#4ade80!important;box-shadow:none!important}.page-shell.dark .pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]{color:#94a3b8;border:none;background:transparent;box-shadow:none}.page-shell.dark .pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]:hover{color:#93c5fd;border:none;background:transparent}.page-shell.dark .pill-btn.icon.timesheet-paid-btn[data-v-32ec0513]:disabled{opacity:.4;color:#94a3b8;border:none;background:transparent;box-shadow:none;filter:grayscale(1)}.page-shell.dark .pill-btn.icon.disabled[data-v-32ec0513],.page-shell.dark .pill-btn.icon[data-v-32ec0513]:disabled{background:#0f172ab3;border-color:#94a3b833;color:#94a3b8b3;box-shadow:none}.pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]{width:28px;height:28px;border:none!important;background:transparent!important;color:var(--btn-muted-text);color:#2563eb!important;box-shadow:none!important;font-size:14px;font-weight:700;padding:0 2px}.pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]:hover:not(:disabled){color:#1d4ed8!important;background:transparent!important}.pill-btn.icon.invoice-pay-icon-btn.is-paid[data-v-32ec0513]{color:#94a3b8!important;cursor:not-allowed;opacity:.5}.page-shell.dark .pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]{color:#60a5fa!important}.page-shell.dark .pill-btn.icon.invoice-pay-icon-btn[data-v-32ec0513]:hover:not(:disabled){color:#93c5fd!important}.page-shell.dark .pill-btn.icon.invoice-pay-icon-btn.is-paid[data-v-32ec0513]{color:#475569!important}.summary-label[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:#64748b;margin:0 0 .2rem}.page-shell.dark .summary-label[data-v-32ec0513]{color:#94a3b8}.summary-value[data-v-32ec0513]{font-size:20px;font-weight:700;margin:0}.page-shell.dark .summary-value[data-v-32ec0513]{color:#f8fafc}.invoice-grid .field input[data-v-32ec0513],.invoice-grid .field textarea[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:12px;padding:.75rem .9rem;background:#f8fafc;box-shadow:0 1px 2px #0f172a0d;font-weight:600;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.invoice-grid .field textarea[data-v-32ec0513]{min-height:96px;resize:vertical}.invoice-grid .field input[data-v-32ec0513]:focus,.invoice-grid .field textarea[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f,0 10px 24px #2563eb1f}.page-shell.dark .invoice-grid .field input[data-v-32ec0513],.page-shell.dark .invoice-grid .field textarea[data-v-32ec0513]{background:#0f172a;border-color:#243244;color:#e5e7eb;box-shadow:inset 0 1px #ffffff08}.page-shell.dark .invoice-grid .field input[data-v-32ec0513]:focus,.page-shell.dark .invoice-grid .field textarea[data-v-32ec0513]:focus{background:#0f172a;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.invoice-grid .field input[data-v-32ec0513]::placeholder,.invoice-grid .field textarea[data-v-32ec0513]::placeholder{color:#94a3b8;font-weight:500}.page-shell.dark .invoice-grid .field input[data-v-32ec0513]::placeholder,.page-shell.dark .invoice-grid .field textarea[data-v-32ec0513]::placeholder{color:#64748b}.invoice-grid .field.span-2[data-v-32ec0513]{grid-column:span 2}.invoice-table[data-v-32ec0513]{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-top:1rem}.page-shell.dark .invoice-table[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.invoice-breakdown[data-v-32ec0513]{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(240px,.9fr);gap:1.2rem;margin-top:1.2rem}.panel-title[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:11px;color:#0f172a;margin-bottom:.85rem}.page-shell.dark .panel-title[data-v-32ec0513]{color:#e2e8f0}.panel-body[data-v-32ec0513]{display:grid;gap:.9rem}.invoice-panel .field[data-v-32ec0513]{display:grid;gap:.45rem}.invoice-panel .field label[data-v-32ec0513]{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#64748b}.page-shell.dark .invoice-panel .field label[data-v-32ec0513]{color:#94a3b8}.invoice-panel .field input[data-v-32ec0513],.invoice-panel .field textarea[data-v-32ec0513],.totals-row input[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:12px;padding:.7rem .85rem;background:#f8fafc;box-shadow:0 1px 2px #0f172a0d;font-weight:600;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.invoice-panel .field textarea[data-v-32ec0513]{min-height:90px;resize:vertical}.invoice-panel .field input[data-v-32ec0513]:focus,.invoice-panel .field textarea[data-v-32ec0513]:focus,.totals-row input[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f,0 10px 24px #2563eb1f}.page-shell.dark .invoice-panel .field input[data-v-32ec0513],.page-shell.dark .invoice-panel .field textarea[data-v-32ec0513],.page-shell.dark .totals-row input[data-v-32ec0513]{background:#0f172a;border-color:#243244;color:#e5e7eb;box-shadow:inset 0 1px #ffffff08}.page-shell.dark .invoice-panel .field input[data-v-32ec0513]:focus,.page-shell.dark .invoice-panel .field textarea[data-v-32ec0513]:focus,.page-shell.dark .totals-row input[data-v-32ec0513]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.totals-grid[data-v-32ec0513]{display:grid;gap:.45rem;padding:.75rem .85rem;border:1px solid rgba(15,23,42,.2);border-radius:14px;background:#fff}.page-shell.dark .totals-grid[data-v-32ec0513]{border-color:var(--border);background:#0b1220}.totals-row[data-v-32ec0513]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;padding:.35rem .2rem;border-bottom:1px solid rgba(15,23,42,.08);font-size:13px;font-weight:600;color:#1f2937}.totals-row[data-v-32ec0513]:last-child{border-bottom:none}.page-shell.dark .totals-row[data-v-32ec0513]{border-bottom-color:#94a3b82e;color:#e2e8f0}.totals-row .value[data-v-32ec0513]{font-weight:700;font-size:14px}.totals-row.input-row[data-v-32ec0513]{grid-template-columns:1fr 130px}.totals-row.input-row label[data-v-32ec0513]{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#64748b}.page-shell.dark .totals-row.input-row label[data-v-32ec0513]{color:#94a3b8}.totals-row.total[data-v-32ec0513]{border-top:1px solid rgba(15,23,42,.2);margin-top:.25rem;padding-top:.6rem;font-size:14px}.page-shell.dark .totals-row.total[data-v-32ec0513]{border-top-color:#94a3b859}.contract-grid[data-v-32ec0513]{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:.75rem;margin-top:.9rem}.field.readonly input[data-v-32ec0513]{background:#eef2f7}.page-shell.dark .field.readonly input[data-v-32ec0513]{background:#0f172ae6}.invoice-table-head[data-v-32ec0513],.invoice-row[data-v-32ec0513]{display:grid;grid-template-columns:1fr .9fr 3fr .7fr .7fr .9fr auto;align-items:center;gap:.85rem;padding:.85rem .95rem}.invoice-table-head[data-v-32ec0513]{background:#f8fafc;font-weight:700;border-bottom:1px solid var(--border);letter-spacing:.01em}.page-shell.dark .invoice-table-head[data-v-32ec0513]{background:#111827;border-color:var(--border);color:#e2e8f0}.invoice-row input[data-v-32ec0513]{width:100%;border:1px solid var(--border);border-radius:10px;padding:.55rem .75rem;background:#f8fafc;box-shadow:0 1px 2px #0f172a0d;font-weight:600;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.page-shell.dark .invoice-row input[data-v-32ec0513]{background:#0f172a;border-color:#243244;color:#e5e7eb;box-shadow:inset 0 1px #ffffff08}.page-shell.dark .invoice-row input[data-v-32ec0513]:focus{background:#0f172a;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f640}.invoice-row input[data-v-32ec0513]:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1f,0 8px 18px #2563eb1f}.invoice-row input[data-v-32ec0513]::placeholder{color:#94a3b8;font-weight:500}.page-shell.dark .invoice-row input[data-v-32ec0513]::placeholder{color:#64748b}.invoice-row[data-v-32ec0513]:nth-child(2n){background:#f9fafb}.page-shell.dark .invoice-row[data-v-32ec0513]:nth-child(2n){background:#101a2f}.invoice-row.add-row[data-v-32ec0513]{grid-template-columns:1fr .9fr 3fr .7fr .7fr .9fr auto;background:#f8fafc;border-top:1px dashed var(--border)}.page-shell.dark .invoice-row.add-row[data-v-32ec0513]{background:#111827;border-color:var(--border)}.invoice-footer[data-v-32ec0513]{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:.85rem;padding-top:.35rem;justify-content:center}.invoice-sheet[data-v-32ec0513]{width:794px;margin:0;padding:48px 56px;border:none;border-radius:0;overflow:visible;background:transparent;color:#111;font-family:Helvetica Neue,Arial,sans-serif;font-size:11px;line-height:1.35;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;position:relative;z-index:1;box-sizing:border-box}.page-shell.dark .invoice-sheet[data-v-32ec0513]{background:transparent;color:#e2e8f0;border-color:transparent;box-shadow:none}.page-shell.dark .invoice-sheet .sheet-title[data-v-32ec0513]{color:#64748b}.page-shell.dark .invoice-sheet .sheet-meta-grid input[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-info-block input[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-progress-line[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-info-popup-line[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-contract-row input[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-others-row input[data-v-32ec0513]{color:#e2e8f0;border-bottom-color:#ffffff40}.page-shell.dark .invoice-sheet .sheet-progress-line[data-v-32ec0513]:hover,.page-shell.dark .invoice-sheet .sheet-info-popup-line[data-v-32ec0513]:hover{background:#0000000a}.page-shell.dark .invoice-sheet .sheet-meta-grid input[data-v-32ec0513]::placeholder,.page-shell.dark .invoice-sheet .sheet-info-block input[data-v-32ec0513]::placeholder{color:#475569}.page-shell.dark .progress-popup-card[data-v-32ec0513]{background:#1e293b;color:#e2e8f0}.page-shell.dark .progress-popup-title[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .progress-popup-textarea[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e2e8f0}.page-shell.dark .progress-popup-textarea[data-v-32ec0513]:focus{border-color:#94a3b8}.page-shell.dark .progress-popup-cancel[data-v-32ec0513]{color:#64748b}.page-shell.dark .progress-popup-cancel[data-v-32ec0513]:hover{color:#f43f5e}.page-shell.dark .progress-popup-save[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .progress-popup-save[data-v-32ec0513]:hover{color:#4ade80}.page-shell.dark .invoice-sheet .sheet-table th[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-table td[data-v-32ec0513]{border-color:var(--border);color:#e2e8f0}.page-shell.dark .invoice-sheet .sheet-table th[data-v-32ec0513]{background:#1e293b}.page-shell.dark .invoice-sheet .sheet-total-row td[data-v-32ec0513]{background:#0f172a}.page-shell.dark .invoice-sheet .sheet-totals[data-v-32ec0513]{border-color:var(--border)}.page-shell.dark .invoice-sheet .sheet-totals-row[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-totals-box[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .invoice-sheet .sheet-totals-row input[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .invoice-sheet .rate-cell[data-v-32ec0513]:before{color:#e2e8f0}.page-shell.dark .invoice-sheet .sheet-row-remove[data-v-32ec0513]{border-color:var(--border);background:#1e293b;color:#e2e8f0}.page-shell.dark .invoice-sheet .sheet-others-row input[data-v-32ec0513]{border-bottom-color:var(--border);color:#e2e8f0}.page-shell.dark .invoice-sheet .sheet-link[data-v-32ec0513]{color:#60a5fa}.page-shell.dark .invoice-sheet .sheet-section-title[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .invoice-sheet .sheet-note[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-thanks[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-contract-row[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-contract[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .invoice-sheet .sheet-contract-value[data-v-32ec0513],.page-shell.dark .invoice-sheet .invoice-date-display[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .invoice-sheet .invoice-date-display.is-placeholder[data-v-32ec0513]{color:#64748b}.page-shell.dark .invoice-sheet .invoice-date-field[data-v-32ec0513]{border-bottom-color:#ffffff4d}.invoice-date-cal-icon[data-v-32ec0513]{color:#64748b;opacity:.6}.page-shell.dark .invoice-sheet .invoice-date-cal-icon[data-v-32ec0513]{color:#94a3b8;opacity:1}.page-shell.dark .invoice-sheet .date-input[data-v-32ec0513]::-webkit-calendar-picker-indicator{filter:brightness(10);opacity:.7;cursor:pointer}.page-shell.dark .invoice-sheet .invoice-desc-toggle[data-v-32ec0513]:hover{background:#1e3a5f;border-left-color:#2d5a9e;color:#93c5fd}.page-shell.dark .invoice-sheet .sheet-table input[data-v-32ec0513],.page-shell.dark .invoice-sheet .sheet-table textarea[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .invoice-sheet select[data-v-32ec0513]{background:#1e293b;color:#e2e8f0;border-color:var(--border)}.sheet-header[data-v-32ec0513]{display:grid;grid-template-columns:minmax(240px,1fr) 220px;gap:1.4rem;align-items:start}.sheet-brand-name[data-v-32ec0513]{font-size:14px;font-weight:700;margin:0}.sheet-logo[data-v-32ec0513]{display:block;height:130px;width:auto;max-width:420px;object-fit:contain;margin-bottom:0;background:transparent}.sheet-address[data-v-32ec0513]{margin:0;font-size:9px}.sheet-title[data-v-32ec0513]{text-align:right;font-size:22px;font-weight:300;letter-spacing:.04em;color:#8a8a8a;margin:0 0 .6rem}.sheet-meta[data-v-32ec0513]{text-align:right;justify-self:end}.sheet-meta-grid[data-v-32ec0513]{display:grid;grid-template-columns:80px 130px;gap:.3rem .6rem;align-items:center;font-size:9.5px;width:220px;margin-left:auto}.sheet-meta-grid label[data-v-32ec0513]{text-align:right;font-weight:700}.sheet-meta-grid input[data-v-32ec0513]{width:100%;border:none;border-bottom:1px solid #111;background:transparent;padding:2px 0;font-size:9.5px;text-align:left}.sheet-info[data-v-32ec0513]{display:grid;grid-template-columns:minmax(240px,1fr) 260px;gap:1.4rem;margin-top:1rem}.sheet-info-block[data-v-32ec0513]{display:grid;gap:.4rem}.sheet-attn-row[data-v-32ec0513]{display:grid;grid-template-columns:auto 1fr;gap:.3rem;align-items:center;margin-top:.75rem}.sheet-info-right[data-v-32ec0513]{justify-self:end;width:260px}.sheet-info-row[data-v-32ec0513]{display:grid;gap:.4rem}.sheet-info-inline[data-v-32ec0513]{grid-template-columns:auto 1fr;align-items:center}.sheet-info-row.for-row[data-v-32ec0513]{align-items:start}.sheet-label[data-v-32ec0513]{font-size:9.5px;font-weight:700}.sheet-info-block input[data-v-32ec0513],.sheet-progress-row textarea[data-v-32ec0513]{width:100%;border:none;border-bottom:1px solid #111;background:transparent;padding:2px 0;font-size:10px;resize:none}.sheet-info-block input[data-v-32ec0513]:focus,.sheet-meta-grid input[data-v-32ec0513]:focus,.sheet-progress-row textarea[data-v-32ec0513]:focus,.sheet-totals-row input[data-v-32ec0513]:focus,.sheet-contract-row input[data-v-32ec0513]:focus{outline:none}.sheet-info-popup-line[data-v-32ec0513]{width:100%;border-bottom:1px solid #111;background:transparent;padding:2px 3px;font-size:10px;cursor:pointer;min-height:16px;line-height:1.4;display:flex;align-items:flex-start;transition:background .15s;box-sizing:border-box}.sheet-info-popup-line[data-v-32ec0513]:hover{background:#0000000a}.sheet-info-popup-line span[data-v-32ec0513]{width:100%;white-space:pre-wrap;word-break:break-word}.bill-to-line[data-v-32ec0513]{min-height:48px}.for-line[data-v-32ec0513]{min-height:28px}.attn-line[data-v-32ec0513]{min-height:16px}.sheet-info-right textarea[data-v-32ec0513]{min-height:28px}.period-row[data-v-32ec0513]{align-items:center;grid-template-columns:auto minmax(90px,1fr) auto minmax(90px,1fr);gap:.35rem}.period-row input[data-v-32ec0513]{min-width:0}.sheet-period-sep[data-v-32ec0513]{font-size:9px;text-transform:uppercase;margin:0 2px}.period-row input[data-v-32ec0513]{text-align:center}.sheet-table[data-v-32ec0513]{width:100%;border-collapse:collapse;margin:.9rem 0 0;font-size:9.5px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.sheet-table col.col-name[data-v-32ec0513]{width:13%}.sheet-table col.col-title[data-v-32ec0513]{width:10%}.sheet-table col.col-desc[data-v-32ec0513]{width:36%}.sheet-table col.col-hours[data-v-32ec0513]{width:8%}.sheet-table col.col-rate[data-v-32ec0513]{width:10%}.sheet-table col.col-amount[data-v-32ec0513]{width:8%}.sheet-table th[data-v-32ec0513],.sheet-table td[data-v-32ec0513]{border:1px solid #111;padding:3px 5px;min-height:22px;vertical-align:top}.sheet-table th[data-v-32ec0513]{background:#f2f2f2;text-align:center;font-weight:700}.sheet-table tbody tr:nth-child(odd):not(.sheet-total-row) td[data-v-32ec0513]{background:#e6e6e6}.page-shell.dark .sheet-table tbody tr:nth-child(odd):not(.sheet-total-row) td[data-v-32ec0513]{background:#101a2f}.page-shell.dark .sheet-table tbody tr:nth-child(2n):not(.sheet-total-row) td[data-v-32ec0513]{background:#0b1220}.sheet-table input[data-v-32ec0513]{width:100%;border:none;background:transparent;font-size:9.5px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;box-sizing:border-box}.sheet-table textarea[data-v-32ec0513]{width:100%;border:none;background:transparent;font-size:9.5px;line-height:1.2;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;box-sizing:border-box;resize:none;overflow:hidden;padding:0}.invoice-desc-dropdown[data-v-32ec0513]{position:relative;display:flex;align-items:stretch;min-height:24px}.invoice-desc-textarea[data-v-32ec0513]{flex:1;min-height:18px;padding-right:6px}.invoice-desc-toggle[data-v-32ec0513]{flex-shrink:0;width:24px;align-self:stretch;border:none;border-left:1px solid rgba(0,0,0,.12);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--btn-muted-text);transition:color .15s,border-color .15s,background .15s;border-radius:0 2px 2px 0;padding:0}.invoice-desc-toggle[data-v-32ec0513]:hover{background:var(--btn-muted-hover-bg);color:#3b82f6;border-left-color:#cbd5e1}.invoice-desc-toggle .icon-svg[data-v-32ec0513]{width:13px;height:13px;stroke:currentColor;stroke-width:1.8;fill:none}.invoice-desc-toggle[data-v-32ec0513]:disabled{opacity:0!important;cursor:default}.invoice-desc-menu[data-v-32ec0513]{min-width:240px;max-width:320px}.invoice-desc-option-row[data-v-32ec0513]{display:flex;align-items:center;gap:0}.invoice-desc-option-label[data-v-32ec0513]{flex:1;min-width:0;text-align:left;border-radius:0}.invoice-desc-delete-btn[data-v-32ec0513]{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--btn-muted-text);border-radius:3px;margin-right:4px;transition:color .15s,background .15s}.invoice-desc-delete-btn[data-v-32ec0513]:hover:not(:disabled){color:var(--btn-danger-text);background:var(--btn-danger-bg)}.invoice-desc-delete-btn[data-v-32ec0513]:disabled{opacity:.4;cursor:default}.invoice-desc-add-row[data-v-32ec0513]{display:flex;align-items:center;gap:6px;padding:.35rem .2rem .2rem;border-top:1px solid var(--border);margin-top:2px}.invoice-desc-add-input[data-v-32ec0513]{flex:1;min-width:0;border:1px solid var(--border);border-radius:10px;padding:.35rem .5rem;font-size:12px;color:#0f172a;background:#fff;outline:none}.invoice-desc-add-input[data-v-32ec0513]:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.invoice-desc-add-btn[data-v-32ec0513]{flex-shrink:0;width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--btn-muted-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,background .15s}.invoice-desc-add-btn[data-v-32ec0513]:hover:not(:disabled){color:#3b82f6;background:#eff6ff}.invoice-desc-add-btn[data-v-32ec0513]:disabled{opacity:.35;cursor:default}.sheet-table td.numeric input[data-v-32ec0513]{text-align:right}.sheet-table input[type=number][data-v-32ec0513]{-moz-appearance:textfield}.sheet-table input[type=number][data-v-32ec0513]::-webkit-inner-spin-button,.sheet-table input[type=number][data-v-32ec0513]::-webkit-outer-spin-button,.sheet-totals-row input[type=number][data-v-32ec0513]::-webkit-inner-spin-button,.sheet-totals-row input[type=number][data-v-32ec0513]::-webkit-outer-spin-button,.sheet-contract-row input[type=number][data-v-32ec0513]::-webkit-inner-spin-button,.sheet-contract-row input[type=number][data-v-32ec0513]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sheet-totals-row input[type=number][data-v-32ec0513],.sheet-contract-row input[type=number][data-v-32ec0513]{-moz-appearance:textfield}.sheet-table td.numeric[data-v-32ec0513]{text-align:right;white-space:nowrap}.amount-cell[data-v-32ec0513],.rate-cell[data-v-32ec0513]{position:relative}.rate-cell[data-v-32ec0513]:before{content:"$";position:absolute;left:6px;top:6px;font-size:10px;color:#111;pointer-events:none}.rate-cell input[data-v-32ec0513]{padding-left:12px}.amount-wrap[data-v-32ec0513]{display:flex;justify-content:flex-end;gap:.3rem;align-items:flex-start;width:100%;min-width:0;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.amount-wrap span[data-v-32ec0513]:first-child{flex:0 0 10px;text-align:right}.amount-wrap span[data-v-32ec0513]:last-child{flex:1 1 auto;min-width:0;text-align:right}.sheet-row-remove[data-v-32ec0513]{position:absolute;right:-18px;top:50%;transform:translateY(-50%);border:1px solid #111;background:#fff;color:#111;width:18px;height:18px;font-size:12px;line-height:1;border-radius:999px;cursor:pointer;opacity:0;transition:opacity .15s ease}.sheet-table tbody tr:hover .sheet-row-remove[data-v-32ec0513]{opacity:1}.sheet-row-remove[data-v-32ec0513]:disabled{opacity:0;cursor:not-allowed}.sheet-table tbody tr:hover .sheet-row-remove[data-v-32ec0513]:disabled{opacity:.4}.sheet-total-row td[data-v-32ec0513]{background:#fff;font-weight:700}.sheet-total-row .total-label[data-v-32ec0513]{text-align:center}.sheet-total-row .total-value[data-v-32ec0513]{text-align:right}.sheet-link[data-v-32ec0513]{border:none;background:transparent;font-weight:700;font-size:10px;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.2rem}.sheet-link.add-line[data-v-32ec0513]{margin:.2rem 0 .4rem}.sheet-summary[data-v-32ec0513]{display:grid;grid-template-columns:minmax(0,1fr) 240px;column-gap:1rem;row-gap:.4rem;margin-top:.6rem;align-items:start}.sheet-section-title[data-v-32ec0513]{font-weight:700;margin:0 0 .4rem;font-size:10px;text-decoration:underline}.sheet-progress-row[data-v-32ec0513]{display:grid;grid-template-columns:80px 1fr;align-items:start;gap:.4rem;font-size:9.5px;margin-bottom:.35rem}.sheet-progress-line[data-v-32ec0513]{border-bottom:1px solid #111;min-height:20px;cursor:pointer;font-size:9.5px;line-height:1.35;padding:2px 3px;display:flex;align-items:flex-start;transition:background .15s;min-width:0}.sheet-progress-line[data-v-32ec0513]:hover{background:#0000000a}.sheet-notes-line[data-v-32ec0513]{min-height:50px}.sheet-progress-line span[data-v-32ec0513]{width:100%;white-space:pre-wrap;word-break:break-word}.progress-text-center[data-v-32ec0513]{text-align:center}.progress-text-left[data-v-32ec0513]{text-align:left}.progress-text-justify[data-v-32ec0513]{text-align:justify}.progress-popup-backdrop[data-v-32ec0513]{position:fixed;inset:0;z-index:9000;background:#00000059;display:flex;align-items:center;justify-content:center}.progress-popup-card[data-v-32ec0513]{background:#fff;border-radius:10px;box-shadow:0 8px 40px #0000002e;padding:1.4rem 1.4rem 1.1rem;width:min(480px,92vw);display:flex;flex-direction:column;gap:.75rem}.progress-popup-title[data-v-32ec0513]{font-weight:700;font-size:13px;margin:0;color:#111}.progress-popup-textarea[data-v-32ec0513]{width:100%;box-sizing:border-box;resize:vertical;border:1px solid var(--border);border-radius:6px;padding:.55rem .65rem;font-size:13px;line-height:1.5;font-family:inherit;outline:none;transition:border-color .15s;min-height:110px}.progress-popup-textarea[data-v-32ec0513]:focus{border-color:#111}.progress-popup-actions[data-v-32ec0513]{display:flex;justify-content:flex-end;gap:.6rem}.progress-popup-cancel[data-v-32ec0513],.progress-popup-save[data-v-32ec0513]{background:none;border:none;padding:0;cursor:pointer;font-size:17px;line-height:1;display:flex;align-items:center}.progress-popup-cancel[data-v-32ec0513]{color:#aaa}.progress-popup-cancel[data-v-32ec0513]:hover{color:#e11d48}.progress-popup-save[data-v-32ec0513]{color:#111}.progress-popup-save[data-v-32ec0513]:hover{color:#16a34a}.progress-popup-fade-enter-active[data-v-32ec0513],.progress-popup-fade-leave-active[data-v-32ec0513]{transition:opacity .18s ease}.progress-popup-fade-enter-from[data-v-32ec0513],.progress-popup-fade-leave-to[data-v-32ec0513]{opacity:0}.sheet-summary-blank[data-v-32ec0513]{min-height:82px}.sheet-totals[data-v-32ec0513]{border:1px solid #111;font-size:10px;justify-self:end;margin-top:.2rem;width:240px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.sheet-totals-row[data-v-32ec0513]{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,1fr);align-items:center;border-bottom:1px solid #111}.sheet-totals-row[data-v-32ec0513]:last-child{border-bottom:none}.sheet-totals-box[data-v-32ec0513]{border-bottom:2px solid #111}.sheet-totals-box[data-v-32ec0513]:last-of-type{border-bottom:none}.sheet-totals-box .sheet-totals-row[data-v-32ec0513]:last-child{border-bottom:none}.sheet-totals-row .label[data-v-32ec0513],.sheet-totals-row .value[data-v-32ec0513]{padding:3px 4px}.sheet-totals-row .value[data-v-32ec0513]{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:.35rem;width:100%;justify-self:end;white-space:nowrap;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.sheet-totals-row input[data-v-32ec0513]{border:none;background:transparent;text-align:right;font-size:9.5px;min-width:0;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.sheet-totals-row .currency[data-v-32ec0513]{width:10px;text-align:right}.sheet-totals-row .amount[data-v-32ec0513]{width:100%;min-width:0;text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.sheet-totals-row .value input[data-v-32ec0513]{width:100%;min-width:0;padding:0}.sheet-totals-row .currency.ghost[data-v-32ec0513]{visibility:hidden}.sheet-totals-row.highlight[data-v-32ec0513]{background:transparent;color:inherit}.sheet-totals-row.highlight input[data-v-32ec0513]{color:inherit;font-weight:600}.sheet-totals-row.total[data-v-32ec0513]{font-weight:700}.sheet-others-row[data-v-32ec0513]{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:.25rem;padding:4px 0 0;font-size:9px}.sheet-others-row input[data-v-32ec0513]{width:100%;min-width:0;border:none;border-bottom:1px solid #111;background:transparent;padding:1px 0;font-size:9px}.sheet-others-row input[data-v-32ec0513]:focus{outline:none}.sheet-note[data-v-32ec0513]{margin:.7rem 0 0;text-align:center;font-size:9px}.sheet-contract[data-v-32ec0513]{margin-top:.8rem;display:grid;gap:.25rem;font-size:9px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1}.sheet-contract-row[data-v-32ec0513]{display:grid;grid-template-columns:140px 160px;gap:.5rem;align-items:center}.sheet-currency-input[data-v-32ec0513]{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:.35rem;width:100%}.sheet-currency-input .currency[data-v-32ec0513]{text-align:right}.sheet-contract-row input[data-v-32ec0513]{border:none;border-bottom:1px solid #111;background:transparent;font-size:9px;width:100%;height:12px;line-height:12px;padding:0;text-align:right;box-sizing:border-box}.sheet-contract-value[data-v-32ec0513]{font-weight:700}.sheet-thanks[data-v-32ec0513]{margin:1rem 0 0;text-align:center;font-size:10px;font-weight:700}.totals[data-v-32ec0513]{font-weight:700}.align-right[data-v-32ec0513]{text-align:right}.hidden-file[data-v-32ec0513]{display:none}.ai-reset-icon[data-v-32ec0513]{position:absolute;top:.6rem;right:.6rem;width:34px;height:34px;border-radius:50%;border:1px solid #cbd5e1;background:#fff;color:#1d4ed8;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #0f172a1a}.page-shell.dark .ai-reset-icon[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#bfdbfe;box-shadow:0 8px 18px #00000040}.tiny[data-v-32ec0513]{font-size:12px}.page-shell[data-v-32ec0513]{--app-font-caption: 10px;--app-font-label: 11px;--app-font-body: 12px;--app-font-body-strong: 13px;--app-font-title: 15px;--app-font-value: 22px;--app-font-value-lg: 28px}.main[data-v-32ec0513],.card[data-v-32ec0513],.modal-card[data-v-32ec0513],.jobs-table-grid[data-v-32ec0513],.invoice-history-summary-table[data-v-32ec0513],.timesheet-detail-table[data-v-32ec0513],.timesheet-notification-table[data-v-32ec0513],.spending-plan-table[data-v-32ec0513]{font-size:var(--app-font-body)}.page-title[data-v-32ec0513],.card-title[data-v-32ec0513],.dashboard-project-title[data-v-32ec0513],.dashboard-chart-card-head-copy strong[data-v-32ec0513],.invoice-box-title[data-v-32ec0513],.jobs-history-title[data-v-32ec0513],.timesheet-tree-title[data-v-32ec0513],.spending-plan-estimate-period-month[data-v-32ec0513],.spending-plan-overhead-month-label[data-v-32ec0513]{font-size:var(--app-font-title)}.eyebrow[data-v-32ec0513],.nav-section-title[data-v-32ec0513],.dashboard-label[data-v-32ec0513],.dashboard-metric-label[data-v-32ec0513],.dashboard-project-label[data-v-32ec0513],.dashboard-chart-mode-btn[data-v-32ec0513],.dashboard-chart-legend-item[data-v-32ec0513],.dashboard-project-bar-tooltip-title[data-v-32ec0513],.dashboard-financial-name[data-v-32ec0513],.spending-plan-generator-label[data-v-32ec0513],.spending-plan-project-select label[data-v-32ec0513],.spending-plan-summary-label[data-v-32ec0513],.spending-plan-metric-label[data-v-32ec0513],.spending-plan-metric-hint[data-v-32ec0513],.spending-plan-metric-chip[data-v-32ec0513],.spending-plan-estimate-period-year[data-v-32ec0513],.spending-plan-estimate-invoice-no[data-v-32ec0513],.spending-plan-estimate-card-tag[data-v-32ec0513],.spending-plan-overhead-year-control label[data-v-32ec0513],.spending-plan-overhead-month-year[data-v-32ec0513],.invoice-grid .field label[data-v-32ec0513],.invoice-panel .field label[data-v-32ec0513],.invoice-select label[data-v-32ec0513],.employees-field label[data-v-32ec0513],.timesheet-head-label[data-v-32ec0513],.timesheet-head-sub[data-v-32ec0513],.timesheet-tree-meta[data-v-32ec0513],.timesheet-week-sub[data-v-32ec0513],.timesheet-week-metric .label[data-v-32ec0513],.timesheet-meta-item .label[data-v-32ec0513],.jobs-history-table .jobs-table-grid th[data-v-32ec0513],.jobs-table-grid th[data-v-32ec0513],.invoice-history-summary-table thead th[data-v-32ec0513],.spending-plan-table thead th[data-v-32ec0513],.sheet-thanks[data-v-32ec0513]{font-size:var(--app-font-label)}.muted[data-v-32ec0513],.error-text[data-v-32ec0513],.success-text[data-v-32ec0513],.page-center-status[data-v-32ec0513],.topbar-notification-empty[data-v-32ec0513],.topbar-notification-item-title[data-v-32ec0513],.topbar-notification-item-text[data-v-32ec0513],.dashboard-hint[data-v-32ec0513],.dashboard-metric-value[data-v-32ec0513],.dashboard-project-sub[data-v-32ec0513],.dashboard-project-empty[data-v-32ec0513],.dashboard-financial-value[data-v-32ec0513],.spending-plan-status[data-v-32ec0513],.spending-plan-empty[data-v-32ec0513],.spending-plan-estimate-empty[data-v-32ec0513],.timesheet-empty-alert[data-v-32ec0513],.timesheet-week-date[data-v-32ec0513],.timesheet-week-metric .value[data-v-32ec0513],.timesheet-meta-item .value[data-v-32ec0513],.invoice-history-summary-no[data-v-32ec0513],.invoice-title-label[data-v-32ec0513],.invoice-number[data-v-32ec0513],.invoice-history-summary-table td[data-v-32ec0513],.jobs-table-grid td[data-v-32ec0513],.employees-table .jobs-table-grid th[data-v-32ec0513],.employees-table .jobs-table-grid td[data-v-32ec0513],.timesheet-table .jobs-table-grid th[data-v-32ec0513],.timesheet-table .jobs-table-grid td[data-v-32ec0513],.btn[data-v-32ec0513],.pill-btn[data-v-32ec0513],.login-input[data-v-32ec0513],.topbar-notification-head-btn[data-v-32ec0513],.topbar-notification-search-input[data-v-32ec0513],.topbar-notification-item-amount[data-v-32ec0513],.invoice-select-trigger[data-v-32ec0513],.invoice-select-search-input[data-v-32ec0513],.invoice-select-option[data-v-32ec0513],.invoice-select-empty[data-v-32ec0513],.employees-select-trigger[data-v-32ec0513],.employees-select-option[data-v-32ec0513],.employees-field input[data-v-32ec0513],.employees-field select[data-v-32ec0513],.employees-inline-input[data-v-32ec0513],.timesheet-head-select[data-v-32ec0513],.timesheet-head-controls .date-input[data-v-32ec0513],.timesheet-job-toggle[data-v-32ec0513],.timesheet-job-option[data-v-32ec0513],.timesheet-edit-input[data-v-32ec0513],.invoice-grid .field input[data-v-32ec0513],.invoice-grid .field textarea[data-v-32ec0513],.invoice-grid .field select[data-v-32ec0513],.invoice-panel .field input[data-v-32ec0513],.invoice-panel .field textarea[data-v-32ec0513],.invoice-panel .field select[data-v-32ec0513],.history-search input[data-v-32ec0513],.jobs-search input[data-v-32ec0513],.spending-plan-month-count-input[data-v-32ec0513],.spending-plan-input[data-v-32ec0513]{font-size:var(--app-font-body)}.brand-name[data-v-32ec0513],.nav-label[data-v-32ec0513],.topbar-notification-head strong[data-v-32ec0513],.topbar-notification-section-title[data-v-32ec0513],.dashboard-project-bar-tooltip-detail[data-v-32ec0513],.spending-plan-estimate-total-row[data-v-32ec0513],.spending-plan-overhead-total-row[data-v-32ec0513],.totals-row[data-v-32ec0513],.workplan-limit-info[data-v-32ec0513],.employee-toggle-label[data-v-32ec0513],.jobs-history-time[data-v-32ec0513],.jobs-history-value[data-v-32ec0513]{font-size:var(--app-font-body-strong)}.dashboard-value[data-v-32ec0513],.spending-plan-summary-value[data-v-32ec0513],.spending-plan-metric-value[data-v-32ec0513],.spending-plan-total[data-v-32ec0513],.timesheet-head-line[data-v-32ec0513],.timesheet-detail-total[data-v-32ec0513],.totals-row .value[data-v-32ec0513],.spending-plan-estimate-inline-prefix[data-v-32ec0513],.spending-plan-overhead-inline-prefix[data-v-32ec0513]{font-size:var(--app-font-value)}.spending-plan-estimate-inline-input[data-v-32ec0513],.spending-plan-overhead-inline-input[data-v-32ec0513]{font-size:var(--app-font-value-lg)}.dashboard-financial-hole span[data-v-32ec0513],.invoice-select-date[data-v-32ec0513],.invoice-period-date-display[data-v-32ec0513],.timesheet-date-label[data-v-32ec0513],.timesheet-date-value[data-v-32ec0513],.sheet-date-label[data-v-32ec0513],.sheet-summary-label[data-v-32ec0513],.invoice-history-summary-title[data-v-32ec0513],.invoice-history-summary-meta[data-v-32ec0513],.topbar-notification-item-time[data-v-32ec0513],.topbar-notification-badge[data-v-32ec0513],.topbar-notification-card-badge[data-v-32ec0513],.topbar-notification-card-label[data-v-32ec0513],.topbar-notification-item-tag[data-v-32ec0513]{font-size:var(--app-font-caption)}.page-shell.dark .dashboard-card[data-v-32ec0513],.page-shell.dark .history-card[data-v-32ec0513],.page-shell.dark .spending-plan-card[data-v-32ec0513],.page-shell.dark .spending-plan-overhead[data-v-32ec0513],.page-shell.dark .jobs-card[data-v-32ec0513],.page-shell.dark .invoice-card[data-v-32ec0513],.page-shell.dark .timesheet-panel[data-v-32ec0513]{box-shadow:none}@media(max-width:1100px){.page-shell[data-v-32ec0513],.main-grid[data-v-32ec0513]{grid-template-columns:1fr}.sidebar[data-v-32ec0513]{order:2}.converter-card[data-v-32ec0513],.progress-card[data-v-32ec0513]{height:auto;max-height:none}.invoice-grid[data-v-32ec0513]{grid-template-columns:repeat(2,minmax(220px,1fr))}.invoice-grid .field.span-2[data-v-32ec0513]{grid-column:span 2}.invoice-breakdown[data-v-32ec0513],.invoice-layout[data-v-32ec0513]{grid-template-columns:1fr}.main.timesheet-static[data-v-32ec0513]{overflow:auto;height:auto}.main.timesheet-static .timesheet-layout[data-v-32ec0513]{height:auto}.employees-layout[data-v-32ec0513]{grid-template-columns:1fr}.timesheet-layout[data-v-32ec0513]{grid-template-columns:1fr;height:auto}.timesheet-week-select[data-v-32ec0513]{grid-template-columns:1fr;align-items:start}.timesheet-week-metrics[data-v-32ec0513]{justify-self:start}.invoice-history-panel[data-v-32ec0513]{order:2;min-width:0;min-height:0;height:auto}.main.invoice-static .invoice-layout[data-v-32ec0513]{height:auto}.main.invoice-static .invoice-box[data-v-32ec0513],.main.invoice-static .invoice-history-panel[data-v-32ec0513]{height:auto;max-height:none}.sheet-header[data-v-32ec0513],.sheet-info[data-v-32ec0513],.sheet-summary[data-v-32ec0513]{grid-template-columns:1fr}.sheet-summary[data-v-32ec0513]{gap:.85rem}.dashboard-project-charts[data-v-32ec0513]{grid-template-columns:1fr;min-width:unset}.dashboard-chart-card-monthly[data-v-32ec0513]{border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:14px}.spending-plan-overhead-calendar[data-v-32ec0513]{grid-template-columns:repeat(3,minmax(0,1fr))}.spending-plan-overhead-month[data-v-32ec0513]{min-height:152px}.spending-plan-summary-grid[data-v-32ec0513]{grid-template-columns:repeat(2,minmax(0,1fr))}.spending-plan-estimate-board[data-v-32ec0513]{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-financial-donut[data-v-32ec0513]{width:180px}}@media(max-width:768px){.topbar[data-v-32ec0513]{flex-direction:column}.topbar-actions[data-v-32ec0513]{width:100%;justify-content:flex-end}.topbar-notification-panel[data-v-32ec0513]{width:min(100vw - 32px,390px)}.global-toast-stack[data-v-32ec0513]{right:12px;left:12px;width:auto}.dashboard-financial-groups[data-v-32ec0513]{grid-template-columns:1fr}.card-head[data-v-32ec0513]{flex-direction:column}.invoice-grid[data-v-32ec0513]{grid-template-columns:1fr}.invoice-grid .field.span-2[data-v-32ec0513]{grid-column:auto}.contract-grid[data-v-32ec0513],.totals-row.input-row[data-v-32ec0513]{grid-template-columns:1fr}.invoice-sheet[data-v-32ec0513]{padding:18px 16px 22px}.sheet-table[data-v-32ec0513]{font-size:9px}.period-row[data-v-32ec0513]{grid-template-columns:1fr}.sheet-row-remove[data-v-32ec0513]{right:-12px}.invoice-box-head[data-v-32ec0513]{justify-content:flex-start}.invoice-box-actions[data-v-32ec0513]{justify-self:start}.invoice-box-controls[data-v-32ec0513],.invoice-box-body[data-v-32ec0513]{grid-template-columns:1fr}.invoice-left-panel[data-v-32ec0513]{position:static;grid-template-columns:1fr;padding:0 0 1rem;border-right:none;border-bottom:1px solid var(--border)}.dashboard-project-chart-svg[data-v-32ec0513],.dashboard-project-chart-svg-sm[data-v-32ec0513]{height:220px}.dashboard-chart-card-monthly .dashboard-project-chart-svg-sm[data-v-32ec0513]{height:280px}.dashboard-chart-card-global .dashboard-project-chart-svg-global[data-v-32ec0513]{height:420px}.spending-plan-head[data-v-32ec0513]{padding:12px}.spending-plan-head-actions[data-v-32ec0513]{width:100%;justify-content:flex-end;gap:8px;margin-left:0}.spending-plan-summary-grid[data-v-32ec0513]{grid-template-columns:1fr}.spending-plan-metric-card[data-v-32ec0513]{min-height:0}.spending-plan-overhead-head[data-v-32ec0513]{align-items:stretch}.spending-plan-overhead-head-main[data-v-32ec0513]{width:100%;justify-content:space-between}.spending-plan-overhead-actions[data-v-32ec0513]{width:100%;justify-content:flex-end}.spending-plan-overhead-refresh-btn[data-v-32ec0513],.spending-plan-overhead-save-btn[data-v-32ec0513]{flex:0 0 auto}.spending-plan-overhead-year-control[data-v-32ec0513]{flex:1 1 0;justify-items:stretch}.spending-plan-overhead-year-dropdown .invoice-select-trigger[data-v-32ec0513],.spending-plan-overhead-year-dropdown .invoice-select-menu[data-v-32ec0513]{width:100%;min-width:0}.spending-plan-overhead-calendar[data-v-32ec0513]{grid-template-columns:repeat(2,minmax(0,1fr))}.spending-plan-overhead-month[data-v-32ec0513],.spending-plan-overhead-month[data-v-32ec0513]:nth-child(4n+2),.spending-plan-overhead-month[data-v-32ec0513]:nth-child(4n+3),.spending-plan-overhead-month[data-v-32ec0513]:nth-child(4n+4){transform:none}.spending-plan-overhead-month[data-v-32ec0513]{min-height:152px}.spending-plan-overhead-inline-input[data-v-32ec0513]{font-size:28px}.spending-plan-estimate-board[data-v-32ec0513]{grid-template-columns:1fr}.spending-plan-estimate-card-head[data-v-32ec0513]{flex-direction:column;align-items:stretch}.spending-plan-estimate-card-actions[data-v-32ec0513]{justify-content:space-between}.spending-plan-estimate-month-select[data-v-32ec0513]{width:100%}.spending-plan-estimate-inline-input[data-v-32ec0513]{font-size:28px}.spending-plan-estimate-total-row[data-v-32ec0513]{padding:12px 14px}.dashboard-chart-footer[data-v-32ec0513]{grid-template-columns:1fr;justify-items:stretch}.dashboard-chart-legend[data-v-32ec0513]{justify-content:flex-start}.dashboard-chart-range-toggle[data-v-32ec0513]{justify-self:end}.dashboard-financial-item[data-v-32ec0513]{grid-template-columns:auto minmax(0,1fr) auto}}.app-page-card[data-v-32ec0513]{position:relative;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;padding:10px 16px 0;background:#fff;border-radius:18px;border-left:none;border-right:none;scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}.main.plan-static[data-v-32ec0513],.main.settings-static[data-v-32ec0513]{padding:0;gap:0;overflow:hidden;scrollbar-gutter:auto}.plan-page-grid[data-v-32ec0513]{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;padding-top:20px}.plan-inapp-card[data-v-32ec0513]{background:#fff;border:1.5px solid #e2e8f0;border-radius:18px;padding:28px 28px 24px;display:flex;flex-direction:column;gap:0;position:relative;transition:box-shadow .15s,border-color .15s}.plan-inapp-card-pro[data-v-32ec0513]{border-color:#2563eb;box-shadow:0 6px 24px #2563eb1a}.plan-inapp-card-active[data-v-32ec0513]{border-color:#10b981!important;box-shadow:0 4px 16px #10b9811a!important}.plan-inapp-header[data-v-32ec0513]{display:flex;align-items:center;gap:10px;margin-bottom:14px}.plan-inapp-name[data-v-32ec0513]{font-size:13px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.plan-inapp-current-badge[data-v-32ec0513]{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#d1fae5;color:#065f46;letter-spacing:.04em}.plan-inapp-soon-badge[data-v-32ec0513]{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#fef3c7;color:#92400e;letter-spacing:.04em}.plan-inapp-price[data-v-32ec0513]{display:flex;align-items:baseline;gap:3px;margin-bottom:12px}.plan-inapp-amount[data-v-32ec0513]{font-size:42px;font-weight:800;color:#0f172a;letter-spacing:-2px;line-height:1}.plan-inapp-period[data-v-32ec0513]{font-size:14px;color:#94a3b8}.plan-inapp-desc[data-v-32ec0513]{font-size:13px;color:#64748b;line-height:1.65;margin-bottom:20px}.plan-inapp-features[data-v-32ec0513]{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:9px;flex:1}.plan-inapp-features li[data-v-32ec0513]{font-size:13px;color:#334155;padding-left:22px;position:relative;line-height:1.4}.plan-inapp-feat-yes[data-v-32ec0513]:before{content:"✓";position:absolute;left:0;color:#2563eb;font-weight:700;font-size:12px}.plan-inapp-feat-no[data-v-32ec0513]{color:#94a3b8!important}.plan-inapp-feat-no[data-v-32ec0513]:before{content:"—";position:absolute;left:0;color:#cbd5e1;font-weight:400;font-size:13px}.plan-inapp-cta-wrap[data-v-32ec0513]{margin-top:auto}.plan-inapp-btn[data-v-32ec0513]{display:block;width:100%;padding:11px 20px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center;border:none;text-decoration:none}.plan-inapp-btn-primary[data-v-32ec0513]{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.plan-inapp-btn-primary[data-v-32ec0513]:hover{background:var(--btn-primary-hover)}.plan-inapp-btn-ghost[data-v-32ec0513]{background:transparent;color:var(--btn-muted-text);border:1px solid var(--btn-ghost-border)}.plan-inapp-btn-ghost[data-v-32ec0513]:hover{border-color:#94a3b8;background:var(--btn-ghost-hover)}.plan-inapp-soon-note[data-v-32ec0513]{font-size:12.5px;color:#94a3b8;line-height:1.55;text-align:center;padding:10px 0 2px}.plan-compare-wrap[data-v-32ec0513]{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.plan-compare-plan-col[data-v-32ec0513]{width:120px;text-align:center}.plan-compare-table tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#f8fafc}.plan-compare-check[data-v-32ec0513]{text-align:center;font-weight:700;font-size:13px}.plan-compare-check.yes[data-v-32ec0513]{color:#2563eb}.plan-compare-check.no[data-v-32ec0513]{color:#cbd5e1;font-weight:400}.page-shell.dark .plan-inapp-card[data-v-32ec0513]{background:#0f172a;border-color:var(--border)}.page-shell.dark .plan-inapp-card-pro[data-v-32ec0513]{border-color:#2563eb}.page-shell.dark .plan-inapp-card-active[data-v-32ec0513]{border-color:#10b981!important}.page-shell.dark .plan-inapp-name[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .plan-inapp-amount[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .plan-inapp-period[data-v-32ec0513]{color:#475569}.page-shell.dark .plan-inapp-desc[data-v-32ec0513]{color:#64748b}.page-shell.dark .plan-inapp-features li[data-v-32ec0513]{color:#cbd5e1}.page-shell.dark .plan-inapp-feat-no[data-v-32ec0513]{color:#334155!important}.page-shell.dark .plan-compare-wrap[data-v-32ec0513]{border-top-color:var(--border)}.page-shell.dark .history-table-grid th[data-v-32ec0513]{background:#0f172a;color:#475569;border-bottom-color:var(--border)}.page-shell.dark .history-table-grid td[data-v-32ec0513]{color:#cbd5e1;border-bottom-color:var(--border)}.page-shell.dark .plan-compare-table tbody tr:nth-child(2n) td[data-v-32ec0513]{background:#0b1220}.page-shell.dark .plan-compare-check.yes[data-v-32ec0513]{color:#60a5fa}.page-shell.dark .plan-compare-check.no[data-v-32ec0513]{color:#1e293b}.settings-layout[data-v-32ec0513]{display:flex;flex:1;min-height:0;overflow:hidden}.settings-left-panel[data-v-32ec0513]{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:#fff}.settings-logo-section[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px}.settings-logo-section .settings-sig-label[data-v-32ec0513]{margin-bottom:0}.settings-logo-body[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.settings-logo-area[data-v-32ec0513],.settings-logo-box[data-v-32ec0513]{display:flex;align-items:center;justify-content:center}.settings-logo-img[data-v-32ec0513]{max-width:220px;max-height:220px;object-fit:contain}.settings-logo-placeholder[data-v-32ec0513]{width:180px;height:180px;border-radius:20px;background:#f1f5f9;border:2px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;color:#94a3b8}.settings-logo-actions[data-v-32ec0513]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.settings-logo-upload-btn[data-v-32ec0513]{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:600;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;font-family:inherit;transition:all .15s;white-space:nowrap;position:relative;overflow:hidden}.settings-logo-upload-btn[data-v-32ec0513]:hover{background:#dbeafe}.settings-logo-file-input[data-v-32ec0513]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}.settings-logo-remove-btn[data-v-32ec0513]{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--btn-danger-text);background:var(--btn-danger-bg);border:1px solid var(--btn-danger-border);font-family:inherit;transition:all .15s;white-space:nowrap}.settings-logo-remove-btn[data-v-32ec0513]:hover{background:var(--btn-danger-hover)}.settings-logo-error[data-v-32ec0513]{font-size:12px;color:#dc2626;text-align:center}.settings-sig-section[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;border-top:1px solid #e2e8f0}.settings-upload-hint[data-v-32ec0513]{font-size:11px;color:#94a3b8;text-align:center;line-height:1.5;margin:0;padding:0 8px}.settings-sig-icon-btn[data-v-32ec0513]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--btn-muted-text);cursor:pointer;transition:background .15s,color .15s;padding:0}.settings-sig-icon-btn[data-v-32ec0513]:hover{background:#eff6ff;color:#2563eb}.settings-sig-icon-btn-danger[data-v-32ec0513]{color:var(--btn-muted-text)}.settings-sig-icon-btn-danger[data-v-32ec0513]:hover{background:#fee2e2!important;color:#dc2626!important}.settings-sig-icon-btn-save[data-v-32ec0513]{color:var(--btn-muted-text)}.settings-sig-icon-btn-save[data-v-32ec0513]:hover{background:#dcfce7!important;color:#16a34a!important}.page-shell.dark .settings-sig-icon-btn[data-v-32ec0513]:hover{background:#2563eb26;color:#93c5fd}.page-shell.dark .settings-sig-icon-btn-danger[data-v-32ec0513]:hover{background:#dc262626!important;color:#f87171!important}.page-shell.dark .settings-sig-icon-btn-save[data-v-32ec0513]:hover{background:#16a34a26!important;color:#4ade80!important}.settings-sig-top[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.settings-sig-top-left[data-v-32ec0513]{display:flex;flex-direction:column;gap:8px}.settings-sig-top-right[data-v-32ec0513]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.settings-sig-body[data-v-32ec0513]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.settings-sig-label[data-v-32ec0513]{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8}.settings-sig-toggle[data-v-32ec0513]{display:flex;background:#f1f5f9;border-radius:8px;padding:3px;gap:2px}.settings-sig-tab[data-v-32ec0513]{padding:4px 14px;border-radius:6px;border:none;background:transparent;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;font-family:inherit;transition:all .15s}.settings-sig-tab.active[data-v-32ec0513]{background:#fff;color:#1e293b;box-shadow:0 1px 3px #0000001a}.settings-sig-img-box[data-v-32ec0513]{display:flex;align-items:center;justify-content:center;padding:8px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.settings-sig-img[data-v-32ec0513]{max-width:200px;max-height:80px;object-fit:contain}.settings-sig-placeholder[data-v-32ec0513]{width:200px;height:64px;border-radius:10px;background:#f8fafc;border:2px dashed #cbd5e1;display:flex;align-items:center;justify-content:center;color:#94a3b8}.settings-sig-text-preview[data-v-32ec0513]{font-family:Dancing Script,Segoe Script,cursive;font-size:28px;color:#1e293b;min-width:200px;min-height:52px;display:flex;align-items:center;justify-content:center;padding:8px 16px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;cursor:pointer;transition:border-color .15s;white-space:nowrap}.settings-sig-text-preview[data-v-32ec0513]:hover{border-color:#94a3b8}.settings-sig-text-preview.is-empty[data-v-32ec0513]{color:#cbd5e1;font-style:italic;font-size:18px}.settings-sig-text-input[data-v-32ec0513]{font-family:Dancing Script,Segoe Script,cursive;font-size:24px;color:#1e293b;width:200px;padding:8px 12px;border-radius:10px;border:1.5px solid #93c5fd;background:#f8fafc;outline:none;text-align:center;font-family:Dancing Script,cursive}.settings-divider[data-v-32ec0513]{width:1px;background:#e2e8f0;flex-shrink:0;align-self:auto;margin:28px 0}.settings-right-panel[data-v-32ec0513]{flex:1;padding:28px 32px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;display:flex;flex-direction:column}.settings-right-header[data-v-32ec0513]{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:20px}.settings-right-title[data-v-32ec0513]{font-size:15px;font-weight:700;color:#0f172a}.settings-two-col[data-v-32ec0513]{display:flex;gap:0}.settings-col[data-v-32ec0513]{flex:1;display:flex;flex-direction:column}.settings-col-divider[data-v-32ec0513]{width:1px;background:#e2e8f0;flex-shrink:0;margin:0 28px}.settings-section-label[data-v-32ec0513]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin-bottom:4px}.settings-row[data-v-32ec0513]{display:flex;align-items:center;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}.settings-row[data-v-32ec0513]:last-child{border-bottom:none}.settings-row[data-v-32ec0513]:has(.settings-inline-input){flex-direction:column;align-items:flex-start;gap:5px;padding:12px 0}.settings-label[data-v-32ec0513]{font-size:12.5px;color:#94a3b8;font-weight:500;min-width:110px;flex-shrink:0}.settings-row:has(.settings-inline-input) .settings-label[data-v-32ec0513]{font-size:11.5px;font-weight:600;color:#64748b;min-width:unset}.settings-value[data-v-32ec0513]{font-size:13.5px;color:#0f172a;font-weight:500}.settings-inline-input[data-v-32ec0513]{flex:1;padding:8px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13.5px;font-weight:500;color:#0f172a;background:#f8fafc;outline:none;width:100%;font-family:inherit;transition:border-color .18s,background .18s,box-shadow .18s}.settings-inline-input[data-v-32ec0513]:hover{border-color:#94a3b8;background:#fff}.settings-inline-input[data-v-32ec0513]:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb14}.settings-edit-btn[data-v-32ec0513]{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;background:var(--btn-ghost-bg);border:1.5px solid #e2e8f0;color:#374151;font-family:inherit;transition:all .15s;white-space:nowrap}.settings-edit-btn[data-v-32ec0513]:hover{border-color:var(--btn-primary-bg);color:var(--btn-primary-bg);background:var(--btn-ghost-hover)}.settings-icon-btn[data-v-32ec0513]{width:30px;height:30px;border-radius:6px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,border-color .15s;background:transparent}.settings-icon-btn-cancel[data-v-32ec0513]{color:var(--btn-muted-text)}.settings-icon-btn-cancel[data-v-32ec0513]:hover{color:#dc2626;background:#fee2e2}.settings-icon-btn-save[data-v-32ec0513]{color:var(--btn-muted-text)}.settings-icon-btn-save[data-v-32ec0513]:hover{color:#16a34a;background:#dcfce7}.page-shell.dark .settings-icon-btn-cancel[data-v-32ec0513]:hover{color:#f87171;background:#dc262626}.page-shell.dark .settings-icon-btn-save[data-v-32ec0513]:hover{color:#4ade80;background:#16a34a26}.settings-edit-error[data-v-32ec0513]{font-size:12px;color:#dc2626}.settings-footer-note[data-v-32ec0513]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:18px;border-top:1px solid var(--border);font-size:11.5px;color:#94a3b8;line-height:1.5}.settings-footer-dot[data-v-32ec0513]{color:#cbd5e1}.settings-footer-link[data-v-32ec0513]{color:#2563eb;text-decoration:none}.settings-footer-link[data-v-32ec0513]:hover{text-decoration:underline}.page-shell.dark .settings-left-panel[data-v-32ec0513]{background:#111827}.page-shell.dark .settings-divider[data-v-32ec0513]{background:#1e293b}.page-shell.dark .settings-logo-placeholder[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#475569}.page-shell.dark .settings-logo-upload-btn[data-v-32ec0513]{background:#1e3a5f;border-color:#2563eb;color:#60a5fa}.page-shell.dark .settings-logo-remove-btn[data-v-32ec0513]{background:#1f1215;border-color:#7f1d1d;color:#f87171}.page-shell.dark .settings-sig-section[data-v-32ec0513]{border-top-color:#1e293b}.page-shell.dark .settings-sig-toggle[data-v-32ec0513]{background:#1e293b}.page-shell.dark .settings-sig-tab.active[data-v-32ec0513]{background:#0f172a;color:#e2e8f0}.page-shell.dark .settings-sig-tab[data-v-32ec0513]{color:#64748b}.page-shell.dark .settings-sig-img-box[data-v-32ec0513],.page-shell.dark .settings-sig-placeholder[data-v-32ec0513]{background:#1e293b;border-color:var(--border)}.page-shell.dark .settings-sig-text-preview[data-v-32ec0513]{background:#1e293b;border-color:var(--border);color:#e2e8f0}.page-shell.dark .settings-sig-text-preview.is-empty[data-v-32ec0513]{color:#334155}.page-shell.dark .settings-sig-text-input[data-v-32ec0513]{background:#1e293b;border-color:#2563eb;color:#e2e8f0}.page-shell.dark .settings-right-panel[data-v-32ec0513]{background:transparent}.page-shell.dark .settings-right-title[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .settings-right-header[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .settings-section-label[data-v-32ec0513]{color:#475569}.page-shell.dark .settings-row[data-v-32ec0513]{border-bottom-color:var(--border)}.page-shell.dark .settings-label[data-v-32ec0513]{color:#475569}.page-shell.dark .settings-value[data-v-32ec0513]{color:#e2e8f0}.page-shell.dark .settings-col-divider[data-v-32ec0513]{background:#1e293b}.page-shell.dark .settings-footer-note[data-v-32ec0513]{color:#334155;border-top-color:var(--border)}.page-shell.dark .settings-footer-link[data-v-32ec0513]{color:#60a5fa}.page-shell.dark .settings-edit-btn[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#94a3b8}.page-shell.dark .settings-edit-btn[data-v-32ec0513]:hover{border-color:#2563eb;color:#60a5fa;background:#1e3a5f}.page-shell.dark .settings-inline-input[data-v-32ec0513]{background:#0f172a;border-color:var(--border);color:#e2e8f0}.page-shell.dark .settings-inline-input[data-v-32ec0513]:focus{border-color:#2563eb;background:#0f172a}.pro-feature-page[data-v-32ec0513]{display:flex;align-items:center;justify-content:center;flex:1;min-height:300px}.pro-feature-page-inner[data-v-32ec0513]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:360px;padding:40px 24px}.pro-upgrade-modal[data-v-32ec0513]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:9999}.pro-upgrade-card[data-v-32ec0513]{position:relative;background:#fff;border-radius:16px;padding:36px 32px 28px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #0f172a2e}.pro-upgrade-close[data-v-32ec0513]{position:absolute;top:14px;right:14px;background:#f1f5f9;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#64748b}.pro-upgrade-close[data-v-32ec0513]:hover{background:#e2e8f0;color:#0f172a}.pro-upgrade-icon[data-v-32ec0513]{width:56px;height:56px;border-radius:50%;background:#fefce8;border:1px solid #fde047;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#ca8a04}.pro-upgrade-title[data-v-32ec0513]{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 10px}.pro-upgrade-desc[data-v-32ec0513]{font-size:14px;color:#64748b;line-height:1.65;margin:0 0 24px}.pro-upgrade-btn[data-v-32ec0513]{background:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;padding:10px 28px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.pro-upgrade-btn[data-v-32ec0513]:hover{background:var(--btn-primary-hover)}.pro-upgrade-btn-ghost[data-v-32ec0513]{background:var(--btn-ghost-hover);color:var(--btn-muted-text);border:none;border-radius:8px;padding:10px 28px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.pro-upgrade-btn-ghost[data-v-32ec0513]:hover{background:#e2e8f0}.page-shell.dark .pro-upgrade-card[data-v-32ec0513]{background:#0f172a;border:1px solid var(--border)}.page-shell.dark .pro-upgrade-close[data-v-32ec0513]{background:#1e293b;color:#94a3b8}.page-shell.dark .pro-upgrade-title[data-v-32ec0513]{color:#f1f5f9}.page-shell.dark .pro-upgrade-desc[data-v-32ec0513]{color:#94a3b8}.page-shell.dark .pro-upgrade-btn-ghost[data-v-32ec0513]{background:#1e293b;color:#94a3b8}.dashboard-pro-overlay[data-v-32ec0513]{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#ffffff1a;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:12px}.dashboard-pro-overlay-box[data-v-32ec0513]{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px 28px 24px;max-width:360px;width:90%;text-align:center;box-shadow:0 8px 40px #0f172a1f}.dashboard-panel-blurred[data-v-32ec0513]{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.page-shell.dark .dashboard-pro-overlay[data-v-32ec0513]{background:#0f172a1a}.page-shell.dark .dashboard-pro-overlay-box[data-v-32ec0513]{background:#0f172a;border-color:var(--border);box-shadow:0 8px 40px #0006}.invoice-footer-logo[data-v-32ec0513]{height:16px;width:auto;opacity:.45;flex-shrink:0}.page-shell.dark .invoice-footer-logo[data-v-32ec0513]{filter:invert(.6)}.invoice-page-footer[data-v-32ec0513]{gap:8px}.sheet-logo-img[data-v-32ec0513]{display:block;height:130px;width:auto;max-width:200px;object-fit:contain;margin-bottom:0}.dashboard-chart-card-global .dashboard-project-chart[data-v-32ec0513]{overflow:hidden}.dashboard-chart-card-global[data-v-32ec0513]{margin-top:0}@media(min-width:2560px){html[data-v-32ec0513]{font-size:18px}.page-shell[data-v-32ec0513]{grid-template-columns:280px 1fr}.app-navbar[data-v-32ec0513]{height:64px;padding:0 2rem}.app-navbar-title[data-v-32ec0513]{font-size:18px}.sidebar[data-v-32ec0513]{padding:1.2rem}.nav-item[data-v-32ec0513]{min-height:52px;font-size:14px}.dashboard-project-chart-svg-sm[data-v-32ec0513]{min-height:400px}.dashboard-project-chart-svg-global[data-v-32ec0513]{min-height:500px}}@media(min-width:1440px)and (max-width:2559px){.page-shell[data-v-32ec0513]{grid-template-columns:240px 1fr}.dashboard-project-chart-svg-sm[data-v-32ec0513]{min-height:320px}.dashboard-project-chart-svg-global[data-v-32ec0513]{min-height:460px}}@media(min-width:1024px)and (max-width:1439px){.page-shell[data-v-32ec0513]{grid-template-columns:220px 1fr}}@media(min-width:769px)and (max-width:1024px){.page-shell[data-v-32ec0513]{grid-template-columns:64px 1fr}.sidebar[data-v-32ec0513]{order:1;width:64px;min-width:64px;max-width:64px;padding:.5rem;align-items:center;overflow:hidden}.main[data-v-32ec0513]{order:2}.nav-label[data-v-32ec0513]{display:none}.brand-logo[data-v-32ec0513]{height:24px}.brand-divider-line[data-v-32ec0513],.brand-org-logo[data-v-32ec0513]{display:none}.nav-item[data-v-32ec0513]{justify-content:center;padding:.35rem;min-width:0}.sidebar-footer[data-v-32ec0513]{flex-direction:column;gap:.4rem}.brand[data-v-32ec0513]{padding:.25rem 0}.spending-plan-shell[data-v-32ec0513]{flex-direction:column}.spending-plan-sidebar[data-v-32ec0513]{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:12px;max-height:180px;overflow-y:auto}.dashboard-charts-top-row[data-v-32ec0513]{flex-direction:column}.dashboard-chart-card-financial[data-v-32ec0513],.dashboard-chart-card-monthly[data-v-32ec0513]{border-left:none;border-top:1px solid var(--border)}.invoice-layout[data-v-32ec0513]{flex-direction:column}.invoice-sidebar[data-v-32ec0513]{width:100%;max-height:160px;border-right:none;border-bottom:1px solid var(--border)}.timesheet-layout[data-v-32ec0513]{flex-direction:column}}@media(max-width:768px){.page-shell[data-v-32ec0513]{grid-template-columns:1fr}.sidebar[data-v-32ec0513]{display:none;order:unset}.sidebar.mobile-open[data-v-32ec0513]{display:flex;position:fixed;top:0;left:0;bottom:0;width:260px;z-index:1000;box-shadow:4px 0 24px #0000001f}.app-navbar[data-v-32ec0513]{padding:0 .75rem}.app-navbar-title[data-v-32ec0513]{font-size:13px}.main[data-v-32ec0513]{padding:0}.dashboard-head[data-v-32ec0513]{flex-wrap:wrap;gap:8px}.dashboard-stats-row[data-v-32ec0513]{flex-wrap:wrap;gap:4px 12px}.dashboard-charts-top-row[data-v-32ec0513]{flex-direction:column}.dashboard-chart-card-financial[data-v-32ec0513],.dashboard-chart-card-monthly[data-v-32ec0513]{border-left:none;border-top:1px solid var(--border)}.dashboard-project-panel[data-v-32ec0513],.spending-plan-shell[data-v-32ec0513],.invoice-shell[data-v-32ec0513],.employees-layout[data-v-32ec0513],.timesheet-layout[data-v-32ec0513]{flex-direction:column}.spending-plan-sidebar[data-v-32ec0513],.invoice-sidebar[data-v-32ec0513]{width:100%;max-height:160px;border-right:none;border-bottom:1px solid var(--border);padding-right:0}.jobs-table-grid[data-v-32ec0513]{font-size:11px}.jobs-table-grid th[data-v-32ec0513],.jobs-table-grid td[data-v-32ec0513]{padding:6px 8px}.invoice-grid[data-v-32ec0513]{grid-template-columns:1fr}.sheet-table[data-v-32ec0513]{font-size:10px}.navbar-profile-dropdown[data-v-32ec0513]{right:4px}.card-head[data-v-32ec0513],.employees-head[data-v-32ec0513],.timesheet-head[data-v-32ec0513],.invoice-head[data-v-32ec0513]{flex-wrap:wrap;gap:8px;padding:8px 12px}}@media(max-width:480px){html[data-v-32ec0513]{font-size:13px}.app-navbar[data-v-32ec0513]{height:48px;padding:0 .6rem}.app-navbar-title[data-v-32ec0513]{font-size:12px}.navbar-icon-btn[data-v-32ec0513]{width:28px;height:28px}.navbar-profile-btn[data-v-32ec0513]{width:32px;height:32px}.dashboard-stat[data-v-32ec0513]{font-size:10px}.dashboard-value[data-v-32ec0513]{font-size:16px}.dashboard-project-chart-svg-sm[data-v-32ec0513],.dashboard-project-chart-svg-global[data-v-32ec0513]{min-height:180px}.pill-btn[data-v-32ec0513]{padding:4px 8px;font-size:11px}.btn[data-v-32ec0513]{padding:6px 12px;font-size:12px}.modal-card[data-v-32ec0513],.pro-upgrade-card[data-v-32ec0513]{padding:20px 16px}.invoice-grid[data-v-32ec0513]{grid-template-columns:1fr;gap:8px}.sheet-summary[data-v-32ec0513]{grid-template-columns:1fr 1fr}}
