.app-sidebar[data-v-95d63b03]{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-width);display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--border);transition:width .2s ease,transform .2s ease}.sidebar-brand[data-v-95d63b03]{height:var(--header-height);display:flex;align-items:center;gap:8px;padding:0 14px 0 18px;border-bottom:1px solid var(--border-soft)}.brand-button[data-v-95d63b03]{min-width:0;display:flex;align-items:center;gap:11px;padding:0;color:var(--text);background:transparent;text-align:left}.brand-button img[data-v-95d63b03]{width:42px;height:42px;flex:0 0 auto;border-radius:12px;object-fit:cover;box-shadow:0 6px 16px #f45b4524}.brand-button span[data-v-95d63b03],.sidebar-user>span[data-v-95d63b03]:nth-child(2),.guide-promo>span[data-v-95d63b03]:nth-child(2){min-width:0;display:grid}.brand-button strong[data-v-95d63b03]{font-size:17px;line-height:1.2}.brand-button small[data-v-95d63b03]{margin-top:2px;font-size:11px;color:var(--muted)}.sidebar-toggle[data-v-95d63b03]{width:32px;height:32px;margin-left:auto;display:grid;place-items:center;color:var(--muted);background:transparent;border-radius:9px}.sidebar-toggle[data-v-95d63b03]:hover{background:var(--surface);color:var(--text)}.sidebar-nav[data-v-95d63b03]{display:grid;gap:5px;padding:18px 12px}.sidebar-nav button[data-v-95d63b03]{position:relative;min-height:44px;display:flex;align-items:center;gap:13px;padding:0 14px;border-radius:10px;color:#5f656a;background:transparent;font-weight:650;text-align:left}.sidebar-nav button[data-v-95d63b03]:before{content:"";position:absolute;left:-12px;width:3px;height:20px;border-radius:0 3px 3px 0;background:transparent}.sidebar-nav button[data-v-95d63b03]:hover{color:var(--text);background:#fbf8f5}.sidebar-nav button.active[data-v-95d63b03]{color:var(--primary);background:var(--primary-soft)}.sidebar-nav button.active[data-v-95d63b03]:before{background:var(--primary)}.sidebar-nav svg[data-v-95d63b03]{flex:0 0 auto}.sidebar-footer[data-v-95d63b03]{margin-top:auto;display:grid;gap:12px;padding:12px}.guide-promo[data-v-95d63b03]{min-height:94px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:16px 12px;border-radius:14px;color:var(--text);background:linear-gradient(145deg,#fff6ef,#fffaf6);border:1px solid #f4e5dc;text-align:left}.guide-icon[data-v-95d63b03]{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:#fff}.guide-promo strong[data-v-95d63b03]{font-size:14px}.guide-promo small[data-v-95d63b03]{margin-top:3px;font-size:11px;color:var(--muted)}.sidebar-user[data-v-95d63b03]{min-height:58px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:12px}.user-avatar[data-v-95d63b03]{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#454b51;font-weight:750}.sidebar-user strong[data-v-95d63b03]{overflow:hidden;text-overflow:ellipsis;font-size:13px}.sidebar-user small[data-v-95d63b03]{font-size:10px}.sidebar-user button[data-v-95d63b03]{width:30px;height:30px;display:grid;place-items:center;color:var(--muted);background:transparent;border-radius:8px}.sidebar-user button[data-v-95d63b03]:hover{color:var(--primary);background:var(--primary-soft)}.collapsed.app-sidebar[data-v-95d63b03]{width:var(--sidebar-collapsed-width)}.collapsed .brand-button span[data-v-95d63b03],.collapsed .sidebar-nav span[data-v-95d63b03],.collapsed .guide-promo>span[data-v-95d63b03]:nth-child(2),.collapsed .guide-promo>svg[data-v-95d63b03],.collapsed .sidebar-user>span[data-v-95d63b03]:nth-child(2),.collapsed .sidebar-user>button[data-v-95d63b03]{display:none}.collapsed .sidebar-brand[data-v-95d63b03]{padding-inline:12px}.collapsed .brand-button img[data-v-95d63b03]{width:38px;height:38px}.collapsed .sidebar-toggle[data-v-95d63b03]{position:absolute;right:-16px;top:18px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-xs)}.collapsed .sidebar-nav[data-v-95d63b03]{padding-inline:10px}.collapsed .sidebar-nav button[data-v-95d63b03]{justify-content:center;padding:0}.collapsed .guide-promo[data-v-95d63b03]{min-height:48px;display:grid;place-items:center;padding:7px}.collapsed .sidebar-user[data-v-95d63b03]{display:grid;grid-template-columns:1fr;place-items:center;padding:8px}.sidebar-scrim[data-v-95d63b03]{display:none}@media (max-width: 1080px){.app-sidebar[data-v-95d63b03]{width:var(--sidebar-collapsed-width)}.brand-button span[data-v-95d63b03],.sidebar-nav span[data-v-95d63b03],.guide-promo>span[data-v-95d63b03]:nth-child(2),.guide-promo>svg[data-v-95d63b03],.sidebar-user>span[data-v-95d63b03]:nth-child(2),.sidebar-user>button[data-v-95d63b03]{display:none}.sidebar-brand[data-v-95d63b03]{padding-inline:12px}.sidebar-toggle[data-v-95d63b03]{position:absolute;right:-16px;top:18px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-xs)}.sidebar-nav[data-v-95d63b03]{padding-inline:10px}.sidebar-nav button[data-v-95d63b03]{justify-content:center;padding:0}.guide-promo[data-v-95d63b03]{min-height:48px;display:grid;place-items:center;padding:7px}.sidebar-user[data-v-95d63b03]{grid-template-columns:1fr;place-items:center;padding:8px}}@media (max-width: 760px){.app-sidebar[data-v-95d63b03]{width:min(82vw,250px);transform:translate(-105%);box-shadow:var(--shadow-lg)}.app-sidebar.mobile-open[data-v-95d63b03]{transform:translate(0)}.app-sidebar .brand-button span[data-v-95d63b03],.app-sidebar .sidebar-nav span[data-v-95d63b03],.app-sidebar .guide-promo>span[data-v-95d63b03]:nth-child(2),.app-sidebar .guide-promo>svg[data-v-95d63b03],.app-sidebar .sidebar-user>span[data-v-95d63b03]:nth-child(2),.app-sidebar .sidebar-user>button[data-v-95d63b03]{display:grid}.app-sidebar .sidebar-brand[data-v-95d63b03]{padding:0 14px 0 18px}.app-sidebar .sidebar-toggle[data-v-95d63b03]{position:static;margin-left:auto;border:0;box-shadow:none}.app-sidebar .sidebar-nav[data-v-95d63b03]{padding:18px 12px}.app-sidebar .sidebar-nav button[data-v-95d63b03]{justify-content:flex-start;padding:0 14px}.app-sidebar .guide-promo[data-v-95d63b03]{min-height:94px;display:grid;grid-template-columns:auto 1fr auto;place-items:initial;padding:16px 12px}.app-sidebar .sidebar-user[data-v-95d63b03]{grid-template-columns:auto 1fr auto;place-items:center stretch;padding:9px 10px}.sidebar-scrim[data-v-95d63b03]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;display:block;background:#1f242947;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.project-selector[data-v-8377503c]{width:min(310px,32vw);height:40px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 11px;color:var(--muted);background:#fff;border:1px solid var(--border);border-radius:10px}select[data-v-8377503c]{min-width:0;height:38px;padding:0;border:0;background:transparent;color:var(--text);font-weight:650;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none}@media (max-width: 760px){.project-selector[data-v-8377503c]{width:min(58vw,260px)}.project-selector>svg[data-v-8377503c]:first-child{display:none}.project-selector[data-v-8377503c]{grid-template-columns:minmax(0,1fr) auto}}.app-header[data-v-8ac75184]{position:fixed;top:0;right:0;left:var(--sidebar-width);z-index:30;height:var(--header-height);display:flex;align-items:center;gap:16px;padding:0 24px;background:#fffffff5;border-bottom:1px solid var(--border-soft);transition:left .2s ease}.app-header.is-collapsed[data-v-8ac75184]{left:var(--sidebar-collapsed-width)}.header-actions[data-v-8ac75184]{margin-left:auto;display:flex;align-items:center;gap:7px}.header-icon[data-v-8ac75184],.mobile-menu[data-v-8ac75184]{position:relative;width:38px;height:38px;display:grid;place-items:center;color:var(--text);background:transparent;border-radius:10px}.new-project-button[data-v-8ac75184]{height:38px;display:flex;align-items:center;gap:6px;padding:0 12px;color:var(--primary);background:var(--primary-soft);border-radius:10px;font-size:12px;font-weight:700}.new-project-button[data-v-8ac75184]:hover{background:#ffe4dd}.header-icon[data-v-8ac75184]:hover,.mobile-menu[data-v-8ac75184]:hover{background:var(--surface)}.notification-button b[data-v-8ac75184]{position:absolute;top:2px;right:2px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid #fff;border-radius:999px;color:#fff;background:var(--primary);font-size:9px}.weather-chip[data-v-8ac75184],.user-entry[data-v-8ac75184]{height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border-radius:10px}.weather-chip[data-v-8ac75184]{margin-left:4px;color:#d89028;background:#fff9eb}.weather-chip span[data-v-8ac75184]{display:grid;line-height:1.15}.weather-chip strong[data-v-8ac75184]{color:#5f594e;font-size:12px}.weather-chip small[data-v-8ac75184]{font-size:9px}.user-entry[data-v-8ac75184]{color:var(--text);background:#fff;border:1px solid var(--border-soft);font-weight:650}.user-entry[data-v-8ac75184]:hover{border-color:#f3c7bc;background:var(--primary-soft)}.header-avatar[data-v-8ac75184]{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft)}.mobile-menu[data-v-8ac75184]{display:none}@media (max-width: 1080px){.app-header[data-v-8ac75184]{left:var(--sidebar-collapsed-width)}.weather-chip[data-v-8ac75184],.new-project-button[data-v-8ac75184]{display:none}}@media (max-width: 760px){.app-header[data-v-8ac75184]{left:0;height:58px;padding:0 12px;gap:8px}.mobile-menu[data-v-8ac75184]{display:grid;flex:0 0 auto}.header-actions[data-v-8ac75184]{gap:2px}.header-actions .header-icon[data-v-8ac75184]:nth-child(1),.header-actions .header-icon[data-v-8ac75184]:nth-child(3),.user-entry span[data-v-8ac75184]:last-child,.logout-entry[data-v-8ac75184]{display:none}.user-entry[data-v-8ac75184]{width:38px;padding:0;justify-content:center;border:0}}.dialog-layer[data-v-bf128060]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#1f242957;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog[data-v-bf128060]{position:relative;width:min(420px,100%);display:grid;justify-items:center;padding:30px;border-radius:16px;background:#fff;box-shadow:var(--shadow-lg);text-align:center}.dialog-close[data-v-bf128060]{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;color:var(--muted);background:transparent;border-radius:9px}.dialog-icon[data-v-bf128060]{width:48px;height:48px;display:grid;place-items:center;margin-bottom:14px;border-radius:14px;color:var(--primary);background:var(--primary-soft)}h3[data-v-bf128060]{font-size:19px}p[data-v-bf128060]{max-width:330px;margin-top:9px;color:var(--muted);font-size:13px;line-height:1.7}.dialog-actions[data-v-bf128060]{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.dialog-actions button[data-v-bf128060]{min-height:42px;border-radius:10px;font-weight:700}.secondary-button[data-v-bf128060]{color:var(--text);background:#f4f2ef}.confirm-button[data-v-bf128060]{color:#fff;background:var(--primary)}.confirm-button.success[data-v-bf128060]{background:var(--green)}.dialog-fade-enter-active[data-v-bf128060],.dialog-fade-leave-active[data-v-bf128060]{transition:opacity .18s ease}.dialog-fade-enter-active .confirm-dialog[data-v-bf128060],.dialog-fade-leave-active .confirm-dialog[data-v-bf128060]{transition:transform .18s ease}.dialog-fade-enter-from[data-v-bf128060],.dialog-fade-leave-to[data-v-bf128060]{opacity:0}.dialog-fade-enter-from .confirm-dialog[data-v-bf128060],.dialog-fade-leave-to .confirm-dialog[data-v-bf128060]{transform:translateY(8px) scale(.98)}.skeleton-page[data-v-02bd4494]{display:grid;gap:12px;padding-top:20px}.skeleton-line[data-v-02bd4494],.skeleton-grid i[data-v-02bd4494],.skeleton-panels i[data-v-02bd4494]{display:block;border-radius:12px;background:linear-gradient(90deg,#f0eeeb 20%,#faf9f7,#f0eeeb 80%);background-size:220% 100%;animation:shimmer-02bd4494 1.4s ease infinite}.title[data-v-02bd4494]{width:260px;height:34px}.subtitle[data-v-02bd4494]{width:360px;height:18px}.skeleton-grid[data-v-02bd4494]{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:18px}.skeleton-grid i[data-v-02bd4494]{height:120px}.skeleton-panels[data-v-02bd4494]{display:grid;grid-template-columns:2fr 1fr;gap:14px}.skeleton-panels i[data-v-02bd4494]{height:360px}@keyframes shimmer-02bd4494{to{background-position:-220% 0}}@media (max-width: 900px){.skeleton-grid[data-v-02bd4494]{grid-template-columns:repeat(2,1fr)}.skeleton-panels[data-v-02bd4494]{grid-template-columns:1fr}}.auth-shell[data-v-16341bc8]{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f8f7f4}.auth-split[data-v-16341bc8]{width:min(1180px,100%);min-height:min(760px,calc(100vh - 56px));display:grid;grid-template-columns:1.35fr .8fr;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 24px 70px #1f242917}.auth-story[data-v-16341bc8]{position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:34px 38px;background:#fffaf6}.auth-brand[data-v-16341bc8],.auth-mobile-brand[data-v-16341bc8]{position:relative;z-index:2;display:flex;align-items:center;gap:11px}.auth-brand img[data-v-16341bc8],.auth-mobile-brand img[data-v-16341bc8]{width:48px;height:48px;border-radius:14px;object-fit:cover}.auth-brand strong[data-v-16341bc8]{display:grid;font-size:18px}.auth-brand small[data-v-16341bc8]{margin-top:2px;font-size:10px}.auth-story-copy[data-v-16341bc8]{position:relative;z-index:2;width:min(620px,88%);margin-top:82px}.auth-story-copy h1[data-v-16341bc8]{margin-top:10px;font-size:58px;line-height:1.06}.auth-story-copy>p[data-v-16341bc8]:not(.page-eyebrow){max-width:560px;margin-top:18px;color:var(--muted);font-size:16px;line-height:1.8}.auth-benefits[data-v-16341bc8]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.auth-benefits span[data-v-16341bc8]{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:12px;border-radius:12px;background:#ffffffd1;border:1px solid #f1e6de}.auth-benefits svg[data-v-16341bc8]{grid-row:1 / 3;color:var(--green)}.auth-benefits b[data-v-16341bc8]{font-size:11px}.auth-benefits small[data-v-16341bc8]{font-size:9px}.auth-scene[data-v-16341bc8]{position:absolute;inset:auto 0 0;width:100%;height:34%;object-fit:cover;object-position:center 58%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%);mask-image:linear-gradient(to bottom,transparent,#000 24%);opacity:.9}.auth-form-pane[data-v-16341bc8]{display:grid;place-items:center;overflow-y:auto;padding:38px 46px;border-left:1px solid var(--border-soft)}.auth-form[data-v-16341bc8]{width:min(390px,100%);display:grid;gap:14px}.auth-mobile-brand[data-v-16341bc8]{display:none}.auth-heading[data-v-16341bc8]{margin-bottom:4px}.auth-heading h2[data-v-16341bc8]{margin-top:5px;font-size:30px}.auth-heading>p[data-v-16341bc8]:last-child{margin-top:8px;color:var(--muted)}.auth-tabs[data-v-16341bc8]{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:11px;background:#f2f0ed}.auth-tabs button[data-v-16341bc8]{min-height:38px;color:var(--muted);background:transparent;border-radius:8px;font-weight:700}.auth-tabs button.active[data-v-16341bc8]{color:var(--primary);background:#fff;box-shadow:var(--shadow-xs)}.auth-back[data-v-16341bc8],.forgot-link[data-v-16341bc8]{justify-self:start;display:inline-flex;align-items:center;gap:5px;color:var(--primary);background:transparent;font-weight:700}.forgot-link[data-v-16341bc8]{justify-self:end;margin-top:-7px;font-size:11px}.auth-code-field[data-v-16341bc8]{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:8px;margin-top:7px}.auth-code-field button[data-v-16341bc8]{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--primary);background:var(--primary-soft);border-radius:10px;font-size:11px;font-weight:750}.auth-code-field button[data-v-16341bc8]:disabled{color:var(--subtle);cursor:wait}.has-strength input[data-v-16341bc8]{border-bottom-left-radius:9px;border-bottom-right-radius:9px}.password-strength[data-v-16341bc8]{display:grid;gap:6px;margin-top:9px}.strength-track[data-v-16341bc8]{height:7px;overflow:hidden;border-radius:999px;background:#f0ebe5}.strength-track i[data-v-16341bc8]{display:block;height:100%;border-radius:inherit;transition:width .25s ease,background .25s ease}.password-strength small[data-v-16341bc8]{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--subtle);font-size:10px}.password-strength b[data-v-16341bc8]{color:#6f7479;font-weight:750}.password-strength em[data-v-16341bc8]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.password-strength.tone-empty .strength-track i[data-v-16341bc8]{background:transparent}.password-strength.tone-weak .strength-track i[data-v-16341bc8]{background:#ef6a5a}.password-strength.tone-medium .strength-track i[data-v-16341bc8]{background:#c47b2f}.password-strength.tone-strong .strength-track i[data-v-16341bc8]{background:#d8a13d}.password-strength.tone-excellent .strength-track i[data-v-16341bc8]{background:linear-gradient(90deg,#55a97a,#6dbb8a)}.auth-submit[data-v-16341bc8]{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--primary);border-radius:10px;font-weight:750;box-shadow:0 10px 24px #f45b452e}.auth-submit[data-v-16341bc8]:disabled{opacity:.65;cursor:wait}.auth-error[data-v-16341bc8],.auth-notice[data-v-16341bc8]{padding:9px 11px;border-radius:8px;font-size:12px}.auth-error[data-v-16341bc8]{color:#b44336;background:#fff0ec}.auth-notice[data-v-16341bc8]{color:#28774e;background:#eaf7f0}.auth-agreement[data-v-16341bc8]{color:var(--subtle);font-size:10px;text-align:center}@media (max-width: 920px){.auth-shell[data-v-16341bc8]{padding:0}.auth-split[data-v-16341bc8]{min-height:100vh;grid-template-columns:1fr;border:0;border-radius:0}.auth-story[data-v-16341bc8]{display:none}.auth-form-pane[data-v-16341bc8]{padding:34px 22px;border-left:0}.auth-mobile-brand[data-v-16341bc8]{display:flex;margin-bottom:18px}}.stat-card[data-v-c499c816]{min-width:0;min-height:116px;display:flex;flex-direction:column;padding:18px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:var(--shadow-xs)}.stat-title-row[data-v-c499c816],.stat-footer[data-v-c499c816]{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-title-row[data-v-c499c816]{color:var(--muted);font-size:13px;font-weight:650}.stat-title-row svg[data-v-c499c816]{color:var(--tone, var(--muted))}.stat-card>strong[data-v-c499c816]{margin-top:10px;color:var(--text);font-size:26px;line-height:1;font-weight:780;font-variant-numeric:tabular-nums}.stat-progress[data-v-c499c816]{height:5px;margin-top:14px;overflow:hidden;border-radius:999px;background:#f0eeeb}.stat-progress i[data-v-c499c816]{display:block;height:100%;border-radius:inherit;background:var(--tone, var(--primary))}.stat-footer[data-v-c499c816]{margin-top:auto;padding-top:10px}.stat-footer small[data-v-c499c816]{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.stat-footer button[data-v-c499c816]{padding:0;color:var(--tone, var(--primary));background:transparent;font-size:11px;font-weight:700}.tone-coral[data-v-c499c816]{--tone: var(--primary)}.tone-green[data-v-c499c816]{--tone: var(--green)}.tone-blue[data-v-c499c816]{--tone: #5e85b6}.tone-yellow[data-v-c499c816]{--tone: #d99c32}.tone-purple[data-v-c499c816]{--tone: #8b73b6}.empty-state[data-v-e9b248f0]{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;padding:28px;color:var(--muted);text-align:center}.empty-state>span[data-v-e9b248f0]{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--green);background:var(--green-soft)}.empty-state strong[data-v-e9b248f0]{color:var(--text);font-size:15px}.empty-state p[data-v-e9b248f0]{max-width:320px;font-size:12px}.empty-state button[data-v-e9b248f0]{margin-top:6px;padding:9px 14px;color:var(--primary);background:var(--primary-soft);border-radius:9px;font-weight:700}.progress-timeline[data-v-fecbc96e]{position:relative;display:flex;gap:0;overflow-x:auto;padding:8px 0 6px;scrollbar-width:thin}.progress-timeline[data-v-fecbc96e]:before{content:"";position:absolute;top:25px;left:6%;right:6%;height:2px;background:#ece9e5}.progress-timeline button[data-v-fecbc96e]{position:relative;z-index:1;flex:1 0 96px;min-width:96px;display:grid;justify-items:center;gap:6px;padding:0 4px;color:var(--muted);background:transparent}.progress-timeline button>span[data-v-fecbc96e]{width:36px;height:36px;display:grid;place-items:center;border:5px solid #fff;border-radius:50%;color:#8d918f;background:#efedea;box-shadow:0 0 0 1px #e8e4df;font-size:11px}.progress-timeline strong[data-v-fecbc96e]{max-width:86px;font-size:11px;font-weight:650;white-space:normal}.progress-timeline small[data-v-fecbc96e]{color:var(--primary);font-size:9px}.progress-timeline button.done[data-v-fecbc96e]{color:#438c63}.progress-timeline button.done>span[data-v-fecbc96e]{color:#fff;background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.progress-timeline button.active[data-v-fecbc96e]{color:var(--primary)}.progress-timeline button.active>span[data-v-fecbc96e]{color:#fff;background:var(--primary);box-shadow:0 0 0 5px var(--primary-soft)}.progress-timeline button.delayed>span[data-v-fecbc96e]{color:#fff;background:#c74e40}@media (max-width: 1100px){.progress-timeline button[data-v-fecbc96e]{flex-basis:102px}}.status-badge[data-v-32b8c234]{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 9px;border-radius:8px;font-size:11px;font-weight:700;white-space:nowrap}.success[data-v-32b8c234]{color:#2f8557;background:var(--green-soft)}.active[data-v-32b8c234]{color:var(--primary);background:var(--primary-soft)}.danger[data-v-32b8c234]{color:#bd4435;background:#fff0ee}.info[data-v-32b8c234]{color:#597ca8;background:#edf4fc}.pending[data-v-32b8c234]{color:#77736d;background:#f3f1ee}.stage-card[data-v-c5d7d4ff]{position:relative;min-height:138px;display:grid;grid-template-columns:170px minmax(0,1fr) 82px;align-items:center;gap:18px;padding:14px;border:1px solid var(--border-soft);border-radius:12px;background:#fff}.stage-card>img[data-v-c5d7d4ff]{width:170px;height:108px;object-fit:cover;border-radius:10px}.stage-copy[data-v-c5d7d4ff]{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.stage-title[data-v-c5d7d4ff]{display:flex;align-items:center;gap:9px}.stage-title h3[data-v-c5d7d4ff]{font-size:17px}.stage-copy>p[data-v-c5d7d4ff]{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.6}.stage-dates[data-v-c5d7d4ff]{display:flex;gap:32px;margin-top:13px}.stage-dates span[data-v-c5d7d4ff]{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:5px}.stage-dates svg[data-v-c5d7d4ff]{grid-row:1 / 3;color:var(--green)}.stage-dates small[data-v-c5d7d4ff]{font-size:9px}.stage-dates strong[data-v-c5d7d4ff]{font-size:11px}.stage-progress-ring[data-v-c5d7d4ff]{width:68px;height:68px;display:grid;place-content:center;border-radius:50%;background:radial-gradient(circle at center,#fff 58%,transparent 60%),conic-gradient(var(--green) var(--progress),#e9efeb 0);text-align:center}.stage-progress-ring strong[data-v-c5d7d4ff]{font-size:15px}.stage-progress-ring small[data-v-c5d7d4ff]{font-size:9px}.stage-details[data-v-c5d7d4ff]{position:absolute;right:14px;bottom:12px;display:flex;align-items:center;gap:2px;padding:0;color:var(--primary);background:transparent;font-size:11px;font-weight:700}@media (max-width: 760px){.stage-card[data-v-c5d7d4ff]{grid-template-columns:92px 1fr;gap:12px}.stage-card>img[data-v-c5d7d4ff]{width:92px;height:102px}.stage-progress-ring[data-v-c5d7d4ff]{display:none}.stage-dates[data-v-c5d7d4ff]{gap:12px;flex-wrap:wrap}}.quick-action[data-v-30c278c3]{min-width:0;min-height:104px;display:grid;align-content:center;justify-items:start;gap:6px;padding:15px;border-radius:12px;color:var(--text);background:var(--action-bg);text-align:left}.quick-action[data-v-30c278c3]:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.quick-action>span[data-v-30c278c3]{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--action-color);background:#ffffffb8}.quick-action strong[data-v-30c278c3]{margin-top:3px;font-size:13px}.quick-action small[data-v-30c278c3]{max-width:100%;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.tone-green[data-v-30c278c3]{--action-bg: #ECF8F1;--action-color: #3E9567}.tone-coral[data-v-30c278c3]{--action-bg: #FFF0EC;--action-color: #F45B45}.tone-blue[data-v-30c278c3]{--action-bg: #EEF4FC;--action-color: #5E85B6}.tone-purple[data-v-30c278c3]{--action-bg: #F5EFFB;--action-color: #8A66B4}.chart-canvas[data-v-43162b12]{width:100%;min-width:0}.dashboard-welcome[data-v-a654ff9b]{min-height:92px;display:flex;align-items:center;gap:30px}.dashboard-welcome>div[data-v-a654ff9b]:first-child{min-width:0}.page-eyebrow[data-v-a654ff9b]{color:var(--primary);font-size:12px;font-weight:700}.dashboard-welcome h1[data-v-a654ff9b]{margin-top:4px;font-size:32px;line-height:1.2}.dashboard-welcome h1 span[data-v-a654ff9b]{font-size:.75em}.dashboard-welcome>div:first-child>p[data-v-a654ff9b]:last-child{margin-top:7px;color:var(--muted)}.welcome-notes[data-v-a654ff9b]{margin-left:auto;display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:12px}.welcome-notes[data-v-a654ff9b]>*{min-width:170px;height:76px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;box-shadow:var(--shadow-xs)}.welcome-notes>*>span[data-v-a654ff9b]{grid-row:1 / 3;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft)}.weather-card>span[data-v-a654ff9b]{color:#d99c32;background:#fff6df}.welcome-notes small[data-v-a654ff9b]{align-self:end;font-size:10px}.welcome-notes strong[data-v-a654ff9b]{justify-self:end;grid-row:1 / 3;font-size:24px}.welcome-notes em[data-v-a654ff9b]{align-self:start;color:var(--muted);font-size:10px;font-style:normal}.weather-card em[data-v-a654ff9b]{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-stat-grid[data-v-a654ff9b]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.dashboard-main-grid[data-v-a654ff9b]{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.9fr);gap:14px}.workflow-card[data-v-a654ff9b],.dashboard-side-stack[data-v-a654ff9b]{min-width:0}.quick-grid[data-v-a654ff9b]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dashboard-bottom-grid[data-v-a654ff9b]{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:14px}.purchase-preview-grid[data-v-a654ff9b]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.purchase-preview-grid button[data-v-a654ff9b]{min-width:0;display:grid;gap:8px;padding:0;color:var(--text);background:transparent;text-align:left}.purchase-preview-grid img[data-v-a654ff9b]{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:9px;background:var(--surface)}.purchase-preview-grid span[data-v-a654ff9b]{min-width:0;display:grid;gap:2px}.purchase-preview-grid strong[data-v-a654ff9b],.purchase-preview-grid small[data-v-a654ff9b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.purchase-preview-grid strong[data-v-a654ff9b]{font-size:11px}.purchase-preview-grid small[data-v-a654ff9b]{font-size:9px}@media (max-width: 1180px){.dashboard-stat-grid[data-v-a654ff9b]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1080px){.dashboard-main-grid[data-v-a654ff9b]{grid-template-columns:1fr}.dashboard-bottom-grid[data-v-a654ff9b]{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-share-card[data-v-a654ff9b]{grid-column:1 / -1}}@media (max-width: 760px){.dashboard-welcome[data-v-a654ff9b]{align-items:flex-start;flex-direction:column}.dashboard-welcome h1[data-v-a654ff9b]{font-size:27px}.welcome-notes[data-v-a654ff9b]{width:100%;margin-left:0;grid-template-columns:1fr 1fr}.welcome-notes[data-v-a654ff9b]>*{min-width:0}.dashboard-stat-grid[data-v-a654ff9b],.dashboard-bottom-grid[data-v-a654ff9b]{grid-template-columns:1fr}.budget-share-card[data-v-a654ff9b]{grid-column:auto}.purchase-preview-grid[data-v-a654ff9b]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 460px){.welcome-notes[data-v-a654ff9b]{grid-template-columns:1fr}}.collab-stat-grid[data-v-9878cade]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.collab-stat-grid article[data-v-9878cade]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.collab-stat-grid article>span[data-v-9878cade]{width:44px;height:44px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:14px}.collab-stat-grid small[data-v-9878cade],.collab-stat-grid em[data-v-9878cade]{display:block;color:var(--muted);font-size:10px;font-style:normal}.collab-stat-grid strong[data-v-9878cade]{display:block;margin:3px 0;font-size:22px}.collab-grid[data-v-9878cade]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.invite-form[data-v-9878cade]{display:grid;grid-template-columns:1.2fr .8fr auto;gap:10px;align-items:end}.invite-form label[data-v-9878cade]{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.helper-copy[data-v-9878cade]{margin:12px 0 0;color:var(--muted);font-size:12px}.accept-form[data-v-9878cade]{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.member-list[data-v-9878cade],.invitation-list[data-v-9878cade],.lock-list[data-v-9878cade],.history-list[data-v-9878cade]{display:grid;gap:10px}.member-row[data-v-9878cade],.invitation-row[data-v-9878cade],.lock-row[data-v-9878cade],.history-row[data-v-9878cade]{display:grid;align-items:center;gap:10px;padding:12px;border:1px solid var(--border-soft);border-radius:13px;background:#fffdfb}.member-row[data-v-9878cade]{grid-template-columns:auto 1fr auto auto auto}.member-avatar[data-v-9878cade]{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--primary);border-radius:13px;font-weight:900}.member-row strong[data-v-9878cade],.invitation-row strong[data-v-9878cade],.lock-row strong[data-v-9878cade]{display:block;font-size:13px}.member-row small[data-v-9878cade],.invitation-row small[data-v-9878cade],.lock-row small[data-v-9878cade]{display:block;margin-top:3px;color:var(--muted);font-size:10px}.member-row select[data-v-9878cade]{min-height:34px;padding:0 8px;font-size:11px}.invitation-row[data-v-9878cade]{grid-template-columns:1fr auto;align-items:start}.invitation-row code[data-v-9878cade]{display:inline-block;margin-top:8px;padding:6px 8px;max-width:100%;border-radius:8px;color:#6c6761;background:#f7f3ef;font-size:10px;word-break:break-all}.row-actions[data-v-9878cade]{display:flex;gap:8px}.lock-row[data-v-9878cade]{grid-template-columns:auto 1fr auto}.lock-row>span[data-v-9878cade]{width:36px;height:36px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:12px}.history-row[data-v-9878cade]{grid-template-columns:1fr auto auto}.history-row span[data-v-9878cade]{font-size:13px;font-weight:750}.history-row time[data-v-9878cade]{color:var(--muted);font-size:10px}.danger-button[data-v-9878cade]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 11px;border-radius:10px;color:#fff;background:#d14b3f;box-shadow:0 10px 24px #d14b3f33;font-size:11px}@media (max-width: 1080px){.collab-grid[data-v-9878cade],.collab-stat-grid[data-v-9878cade],.invite-form[data-v-9878cade],.accept-form[data-v-9878cade],.member-row[data-v-9878cade],.invitation-row[data-v-9878cade],.lock-row[data-v-9878cade],.history-row[data-v-9878cade]{grid-template-columns:1fr}.row-actions[data-v-9878cade]{flex-wrap:wrap}}.stage-summary-band[data-v-ccf8b017]{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:0;padding:0;overflow:hidden}.stage-summary-band>div[data-v-ccf8b017]{min-width:0;display:grid;align-content:center;gap:4px;min-height:104px;padding:18px 22px;border-right:1px solid var(--border-soft)}.stage-summary-band>div[data-v-ccf8b017]:last-child{border-right:0}.stage-summary-band small[data-v-ccf8b017]{font-size:10px}.stage-summary-band strong[data-v-ccf8b017]{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.stage-summary-band span[data-v-ccf8b017]{color:var(--muted);font-size:11px}.timeline-card[data-v-ccf8b017],.stage-custom-card[data-v-ccf8b017]{overflow:hidden}.stage-editor-grid[data-v-ccf8b017]{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.stage-editor-list[data-v-ccf8b017]{max-height:320px;display:grid;gap:7px;overflow:auto;padding-right:4px}.stage-editor-list button[data-v-ccf8b017]{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;color:var(--text);background:var(--surface);border:1px solid transparent;border-radius:10px;text-align:left}.stage-editor-list button.active[data-v-ccf8b017]{border-color:#f0b9ad;background:var(--primary-soft)}.stage-editor-list span[data-v-ccf8b017]{width:26px;height:26px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:8px;font-size:10px;font-weight:800}.stage-editor-list strong[data-v-ccf8b017]{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stage-editor-list small[data-v-ccf8b017]{color:var(--muted);font-size:9px}.stage-editor-form[data-v-ccf8b017]{min-width:0}.form-grid[data-v-ccf8b017]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid .notes-field[data-v-ccf8b017]{grid-column:span 4}.stage-editor-actions[data-v-ccf8b017]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:14px}.stage-editor-actions .danger[data-v-ccf8b017]{color:var(--primary);background:var(--primary-soft)}.stage-content-grid[data-v-ccf8b017]{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr);align-items:start;gap:14px}.current-stage-panel[data-v-ccf8b017]{min-width:0}.stage-panel-head[data-v-ccf8b017]{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--border-soft)}.stage-name-row[data-v-ccf8b017]{display:flex;align-items:center;gap:10px;margin-top:3px}.stage-name-row h2[data-v-ccf8b017]{font-size:24px}.stage-panel-head p[data-v-ccf8b017]:last-child{max-width:720px;margin-top:9px;color:var(--muted);line-height:1.7}.stage-status-select[data-v-ccf8b017]{width:140px;flex:0 0 auto}.stage-status-select select[data-v-ccf8b017]{margin-top:5px}.stage-metrics[data-v-ccf8b017]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px 0}.stage-metrics span[data-v-ccf8b017]{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:12px;border-radius:10px;background:var(--surface)}.stage-metrics svg[data-v-ccf8b017]{grid-row:1 / 3;color:var(--green)}.stage-metrics small[data-v-ccf8b017]{font-size:9px}.stage-metrics strong[data-v-ccf8b017]{font-size:12px}.stage-progress-block[data-v-ccf8b017]{padding:14px 16px;border-radius:11px;background:var(--green-soft)}.stage-progress-block>div[data-v-ccf8b017]:first-child{display:flex;justify-content:space-between;font-size:12px}.stage-progress-block strong[data-v-ccf8b017]{color:var(--green);font-size:16px}.progress-track[data-v-ccf8b017]{height:7px;margin-top:9px;overflow:hidden;border-radius:999px;background:#dfece4}.progress-track i[data-v-ccf8b017]{display:block;height:100%;border-radius:inherit;background:var(--green)}.stage-task-section[data-v-ccf8b017]{margin-top:22px}.stage-task-list[data-v-ccf8b017]{display:grid}.stage-task-list label[data-v-ccf8b017]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border-soft);cursor:pointer}.stage-task-list label[data-v-ccf8b017]:last-child{border-bottom:0}.stage-task-list input[data-v-ccf8b017],.acceptance-list input[data-v-ccf8b017]{width:18px;height:18px;accent-color:var(--green)}.stage-task-list span[data-v-ccf8b017]{display:grid;gap:3px}.stage-task-list strong[data-v-ccf8b017]{font-size:13px}.stage-task-list small[data-v-ccf8b017]{font-size:10px}.stage-task-list label.done strong[data-v-ccf8b017]{color:var(--muted);text-decoration:line-through}.stage-side-stack[data-v-ccf8b017]{min-width:0;display:grid;gap:14px}.acceptance-list[data-v-ccf8b017]{display:grid}.acceptance-list label[data-v-ccf8b017]{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-soft);cursor:pointer}.acceptance-list label[data-v-ccf8b017]:last-child{border-bottom:0}.acceptance-list span[data-v-ccf8b017]{display:grid;gap:3px}.acceptance-list strong[data-v-ccf8b017]{font-size:12px}.acceptance-list small[data-v-ccf8b017]{line-height:1.5;font-size:10px}.guide-list[data-v-ccf8b017]{display:grid;gap:9px}.guide-list article[data-v-ccf8b017]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:7px;padding:11px;border-radius:10px;background:var(--surface)}.guide-list article>strong[data-v-ccf8b017]{font-size:12px}.guide-list article>p[data-v-ccf8b017]{grid-column:1 / -1;color:var(--muted);font-size:10px;line-height:1.55}.photo-grid[data-v-ccf8b017]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.photo-grid figure[data-v-ccf8b017]{position:relative;margin:0;overflow:hidden;border-radius:11px;background:var(--surface)}.photo-grid img[data-v-ccf8b017]{width:100%;aspect-ratio:1.55;display:block;object-fit:cover}.photo-grid figcaption[data-v-ccf8b017]{position:absolute;inset:auto 8px 8px;display:flex;align-items:center;gap:5px;width:max-content;padding:5px 8px;border-radius:7px;color:#fff;background:#1f2429b8;font-size:9px}.upload-button[data-v-ccf8b017]{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:9px;color:var(--primary);background:var(--primary-soft);font-weight:700;cursor:pointer}.upload-button.disabled[data-v-ccf8b017]{opacity:.7;cursor:wait}.upload-button input[data-v-ccf8b017]{display:none}@media (max-width: 1160px){.stage-summary-band[data-v-ccf8b017]{grid-template-columns:repeat(2,1fr)}.stage-summary-band>div[data-v-ccf8b017]:nth-child(2){border-right:0}.stage-summary-band>div[data-v-ccf8b017]:nth-child(-n+2){border-bottom:1px solid var(--border-soft)}.stage-content-grid[data-v-ccf8b017],.stage-editor-grid[data-v-ccf8b017]{grid-template-columns:1fr}.stage-side-stack[data-v-ccf8b017]{grid-template-columns:1fr 1fr}.form-grid[data-v-ccf8b017]{grid-template-columns:repeat(2,1fr)}.form-grid .notes-field[data-v-ccf8b017]{grid-column:span 2}}@media (max-width: 760px){.stage-summary-band[data-v-ccf8b017],.stage-side-stack[data-v-ccf8b017],.form-grid[data-v-ccf8b017]{grid-template-columns:1fr}.form-grid .notes-field[data-v-ccf8b017]{grid-column:auto}.stage-summary-band>div[data-v-ccf8b017]{border-right:0;border-bottom:1px solid var(--border-soft)}.stage-panel-head[data-v-ccf8b017]{flex-direction:column}.stage-status-select[data-v-ccf8b017]{width:100%}.stage-metrics[data-v-ccf8b017],.photo-grid[data-v-ccf8b017]{grid-template-columns:repeat(2,1fr)}}.filter-bar[data-v-c19e0050]{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.filter-bar>strong[data-v-c19e0050]{flex:0 0 auto;font-size:13px}.filter-fields[data-v-c19e0050]{min-width:0;flex:1;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.filter-actions[data-v-c19e0050]{flex:0 0 auto;display:flex;align-items:center;gap:8px}@media (max-width: 1180px){.filter-fields[data-v-c19e0050]{grid-template-columns:repeat(3,minmax(130px,1fr))}}@media (max-width: 760px){.filter-bar[data-v-c19e0050]{align-items:stretch;flex-direction:column}.filter-fields[data-v-c19e0050]{grid-template-columns:1fr}.filter-actions[data-v-c19e0050]>*{width:100%}}.purchase-card[data-v-0852fd85]{position:relative;min-width:0;display:grid;grid-template-columns:92px minmax(0,1fr);gap:13px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.purchase-card[data-v-0852fd85]:hover{transform:translateY(-2px);border-color:#e6d7cf;box-shadow:var(--shadow-sm)}.purchase-card>img[data-v-0852fd85]{width:92px;height:112px;object-fit:cover;border-radius:9px;background:var(--surface)}.purchase-body[data-v-0852fd85]{min-width:0;display:grid;align-content:start;gap:7px}.purchase-heading[data-v-0852fd85]{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:54px}.purchase-heading>strong[data-v-0852fd85]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.purchase-body>small[data-v-0852fd85]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.purchase-price[data-v-0852fd85]{display:flex;align-items:baseline;gap:5px}.purchase-price b[data-v-0852fd85]{color:var(--primary);font-size:13px}.purchase-price span[data-v-0852fd85]{color:var(--muted);font-size:10px}.purchase-price strong[data-v-0852fd85]{margin-left:auto;font-size:12px}.purchase-body select[data-v-0852fd85]{min-height:30px;padding:0 8px;border-radius:8px;font-size:11px}.purchase-actions[data-v-0852fd85]{position:absolute;top:9px;right:9px;display:flex;gap:3px}.purchase-actions button[data-v-0852fd85]{width:28px;height:28px;display:grid;place-items:center;color:var(--muted);background:#f7f5f2;border-radius:8px}.purchase-actions button[data-v-0852fd85]:hover{color:var(--text);background:#efebe7}.purchase-actions button.danger[data-v-0852fd85]:hover{color:var(--primary);background:var(--primary-soft)}@media (max-width: 430px){.purchase-card[data-v-0852fd85]{grid-template-columns:76px minmax(0,1fr)}.purchase-card>img[data-v-0852fd85]{width:76px;height:108px}}.purchase-stat-grid[data-v-9c0e40ed]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.search-field[data-v-9c0e40ed]{position:relative;display:block}.search-field svg[data-v-9c0e40ed]{position:absolute;top:50%;left:11px;z-index:1;color:var(--muted);transform:translateY(-50%)}.search-field input[data-v-9c0e40ed]{padding-left:34px}.view-switch[data-v-9c0e40ed]{display:flex;gap:4px;padding:3px;border-radius:10px;background:#f3f1ee}.view-switch button[data-v-9c0e40ed]{width:33px;height:32px;display:grid;place-items:center;color:var(--muted);background:transparent;border-radius:8px}.view-switch button.active[data-v-9c0e40ed]{color:var(--primary);background:#fff;box-shadow:var(--shadow-xs)}.purchase-card-grid[data-v-9c0e40ed]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.purchase-table-wrap[data-v-9c0e40ed]{overflow-x:auto;padding:0}.purchase-table[data-v-9c0e40ed]{min-width:920px}.purchase-table td[data-v-9c0e40ed]:first-child{display:grid;gap:3px}.purchase-table td:first-child small[data-v-9c0e40ed]{font-size:10px}.subtotal[data-v-9c0e40ed]{color:#b84d3e;font-weight:700}.table-actions[data-v-9c0e40ed]{display:flex;gap:6px}.table-actions button[data-v-9c0e40ed]{padding:6px 9px;color:var(--text);background:#f5f3f0;border-radius:7px;font-size:11px}.table-actions .danger[data-v-9c0e40ed]{color:var(--primary);background:var(--primary-soft)}.drawer-layer[data-v-9c0e40ed]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#1f242947;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.form-drawer[data-v-9c0e40ed]{width:min(520px,100%);height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:-18px 0 48px #1f24291f}.form-drawer header[data-v-9c0e40ed],.form-drawer footer[data-v-9c0e40ed]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-soft)}.form-drawer header h2[data-v-9c0e40ed]{margin-top:3px;font-size:20px}.form-drawer header>button[data-v-9c0e40ed]{width:36px;height:36px;display:grid;place-items:center;color:var(--muted);background:var(--surface);border-radius:9px}.drawer-form[data-v-9c0e40ed]{flex:1;display:grid;align-content:start;gap:16px;overflow-y:auto;padding:24px}.two-columns[data-v-9c0e40ed]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.drawer-form textarea[data-v-9c0e40ed]{width:100%;resize:vertical}.material-image-upload[data-v-9c0e40ed]{position:relative;display:grid;gap:8px;cursor:pointer}.field-title[data-v-9c0e40ed]{color:var(--muted);font-size:12px;font-weight:650}.upload-preview[data-v-9c0e40ed]{position:relative;min-height:154px;display:grid;place-items:center;overflow:hidden;border:1px dashed #e2cfc4;border-radius:16px;background:linear-gradient(135deg,#fffaf6,#fbf7f1);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.material-image-upload:hover .upload-preview[data-v-9c0e40ed]{border-color:#f45b45;box-shadow:0 14px 30px #f45b451f;transform:translateY(-1px)}.upload-preview.filled[data-v-9c0e40ed]{border-style:solid;background:#f4f1ed}.upload-preview.uploading[data-v-9c0e40ed]{cursor:wait}.upload-empty[data-v-9c0e40ed]{display:grid;justify-items:center;gap:7px;color:var(--muted);text-align:center}.upload-empty svg[data-v-9c0e40ed]{color:var(--primary)}.upload-empty strong[data-v-9c0e40ed]{color:var(--text);font-size:14px}.upload-empty small[data-v-9c0e40ed]{color:var(--muted);font-size:11px}.upload-action[data-v-9c0e40ed]{position:absolute;right:14px;bottom:13px;display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;color:#fff;background:var(--primary);box-shadow:0 10px 22px #f45b4533;font-size:12px;font-weight:750}.upload-preview.filled .upload-action[data-v-9c0e40ed]{background:#1f2429b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.upload-meta[data-v-9c0e40ed]{min-height:20px;display:inline-flex;align-items:center;color:var(--muted);font-size:11px}.native-file-input[data-v-9c0e40ed]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.upload-preview img[data-v-9c0e40ed]{width:100%;height:188px;object-fit:cover}.upload-preview em[data-v-9c0e40ed]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#1f242994;font-size:11px;font-style:normal;font-weight:700}.upload-preview em svg[data-v-9c0e40ed]{animation:upload-spin-9c0e40ed .8s linear infinite}@keyframes upload-spin-9c0e40ed{to{transform:rotate(360deg)}}.form-drawer footer[data-v-9c0e40ed]{justify-content:flex-end;margin-top:auto;border-top:1px solid var(--border-soft);border-bottom:0}.drawer-slide-enter-active[data-v-9c0e40ed],.drawer-slide-leave-active[data-v-9c0e40ed]{transition:opacity .2s ease}.drawer-slide-enter-active .form-drawer[data-v-9c0e40ed],.drawer-slide-leave-active .form-drawer[data-v-9c0e40ed]{transition:transform .2s ease}.drawer-slide-enter-from[data-v-9c0e40ed],.drawer-slide-leave-to[data-v-9c0e40ed]{opacity:0}.drawer-slide-enter-from .form-drawer[data-v-9c0e40ed],.drawer-slide-leave-to .form-drawer[data-v-9c0e40ed]{transform:translate(28px)}@media (max-width: 1320px){.purchase-card-grid[data-v-9c0e40ed]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 980px){.purchase-stat-grid[data-v-9c0e40ed]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.purchase-card-grid[data-v-9c0e40ed],.purchase-stat-grid[data-v-9c0e40ed],.two-columns[data-v-9c0e40ed]{grid-template-columns:1fr}.form-drawer header[data-v-9c0e40ed],.form-drawer footer[data-v-9c0e40ed],.drawer-form[data-v-9c0e40ed]{padding:18px}}.import-stat-grid[data-v-0cae5c7f]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.import-stat-grid article[data-v-0cae5c7f]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.import-stat-grid article>span[data-v-0cae5c7f]{width:42px;height:42px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:13px}.import-stat-grid small[data-v-0cae5c7f]{color:var(--muted);font-size:10px}.import-stat-grid strong[data-v-0cae5c7f]{display:block;margin-top:3px;font-size:18px}.import-grid[data-v-0cae5c7f]{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);align-items:start;gap:14px}.image-import-box[data-v-0cae5c7f]{min-height:156px;display:grid;place-items:center;gap:7px;padding:22px;border:1px dashed #dfd7cf;border-radius:14px;background:#fffaf6;text-align:center;cursor:pointer}.image-import-box input[data-v-0cae5c7f]{display:none}.image-import-box span[data-v-0cae5c7f]{width:58px;height:58px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:18px}.image-import-box strong[data-v-0cae5c7f]{max-width:100%;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.image-import-box small[data-v-0cae5c7f]{color:var(--muted);font-size:11px}.image-import-box.recognizing[data-v-0cae5c7f]{opacity:.76;cursor:wait}.image-import-box.recognizing svg[data-v-0cae5c7f]{animation:spin-0cae5c7f 1s linear infinite}.recognition-progress[data-v-0cae5c7f]{display:grid;gap:8px;margin-top:12px;padding:12px;border:1px solid #f1ded5;border-radius:13px;background:#fff8f4}.recognition-progress-meta[data-v-0cae5c7f]{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;font-weight:800;color:var(--text)}.recognition-progress-meta em[data-v-0cae5c7f]{color:var(--primary);font-style:normal}.recognition-progress-track[data-v-0cae5c7f]{height:9px;overflow:hidden;border-radius:999px;background:#f0e7df}.recognition-progress-track i[data-v-0cae5c7f]{display:block;height:100%;min-width:6px;border-radius:inherit;background:linear-gradient(90deg,#ff765f,#ffae8b);transition:width .35s ease}.recognition-progress p[data-v-0cae5c7f]{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.recognition-progress.success[data-v-0cae5c7f]{border-color:#dbeedd;background:#f6fbf6}.recognition-progress.success .recognition-progress-track i[data-v-0cae5c7f]{background:linear-gradient(90deg,#56a877,#86c99b)}.recognition-progress.failed[data-v-0cae5c7f]{border-color:#ffd6ce;background:#fff2ef}.recognition-progress.failed .recognition-progress-track i[data-v-0cae5c7f]{background:#df5145}.text-fallback-heading[data-v-0cae5c7f]{display:flex;align-items:center;gap:7px;margin:16px 0 8px;color:var(--muted);font-size:12px;font-weight:800}.import-source-card textarea[data-v-0cae5c7f]{width:100%;resize:vertical;min-height:360px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fffdfb;line-height:1.7;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.import-actions[data-v-0cae5c7f]{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.import-note[data-v-0cae5c7f]{margin-top:12px;color:var(--muted);font-size:11px;line-height:1.7}.import-preview-card[data-v-0cae5c7f]{padding:0;overflow:hidden}.import-preview-card>.section-heading[data-v-0cae5c7f]{padding:20px 20px 10px}.import-table-wrap[data-v-0cae5c7f]{overflow-x:auto}.import-table[data-v-0cae5c7f]{min-width:980px}.import-table tr.muted[data-v-0cae5c7f]{opacity:.52}.import-table input[data-v-0cae5c7f],.import-table select[data-v-0cae5c7f]{min-height:32px;padding:0 8px;font-size:11px}.import-table td:first-child input[data-v-0cae5c7f]{width:17px;min-height:auto;accent-color:var(--primary)}.import-table td:nth-child(2) input[data-v-0cae5c7f]{min-width:160px}.import-table td[data-v-0cae5c7f]:last-child{display:grid;gap:5px}.import-table td:last-child small[data-v-0cae5c7f]{color:var(--muted);font-size:9px}@media (max-width: 1100px){.import-grid[data-v-0cae5c7f]{grid-template-columns:1fr}.import-stat-grid[data-v-0cae5c7f]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.import-stat-grid[data-v-0cae5c7f]{grid-template-columns:1fr}}@keyframes spin-0cae5c7f{to{transform:rotate(360deg)}}.expense-stat-grid[data-v-e2ae6b26]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.expense-chart-grid[data-v-e2ae6b26]{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.expense-entry-card[data-v-e2ae6b26]{padding-bottom:18px}.expense-form-grid[data-v-e2ae6b26]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.expense-form-grid label[data-v-e2ae6b26]{min-width:0}.notes-field[data-v-e2ae6b26]{grid-column:span 2}.receipt-upload[data-v-e2ae6b26]{min-height:64px;grid-column:span 2;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:10px 12px;border:1px dashed #dfd7cf;border-radius:10px;color:var(--muted);background:#fbfaf8;cursor:pointer}.receipt-upload>svg[data-v-e2ae6b26]{color:var(--primary)}.receipt-upload>span[data-v-e2ae6b26]{min-width:0;display:grid;gap:2px}.receipt-upload strong[data-v-e2ae6b26]{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.receipt-upload small[data-v-e2ae6b26]{font-size:9px}.receipt-upload input[data-v-e2ae6b26]{display:none}.receipt-upload.uploading[data-v-e2ae6b26]{opacity:.76;pointer-events:none}.pending-receipts[data-v-e2ae6b26]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pending-receipt-chip[data-v-e2ae6b26]{display:inline-flex;align-items:center;gap:5px;max-width:260px;padding:7px 9px;color:#5e85b6;background:#f1f6fd;border-radius:999px;font-size:11px;font-weight:700}.pending-receipt-chip button[data-v-e2ae6b26]{display:grid;place-items:center;width:18px;height:18px;color:#6c7f95;background:transparent;border-radius:50%}.pending-receipt-chip button[data-v-e2ae6b26]:hover{color:#fff;background:#5e85b6}.entry-actions[data-v-e2ae6b26]{display:flex;justify-content:flex-end;margin-top:16px}.expense-list-card[data-v-e2ae6b26]{padding:0;overflow:hidden}.expense-list-card>.section-heading[data-v-e2ae6b26]{padding:20px 20px 12px}.expense-table-wrap[data-v-e2ae6b26]{overflow-x:auto}.expense-table[data-v-e2ae6b26]{min-width:920px}.expense-table td[data-v-e2ae6b26]:nth-child(2){display:grid;gap:3px}.expense-table td:nth-child(2) small[data-v-e2ae6b26]{font-size:9px}.expense-amount[data-v-e2ae6b26]{color:#b84d3e;font-weight:750}.receipt-chip[data-v-e2ae6b26]{display:inline-flex;align-items:center;gap:4px;padding:0;color:#5e85b6;background:transparent;font-size:10px;font-weight:700}.receipt-chip[data-v-e2ae6b26]:hover{color:var(--primary)}.muted-cell[data-v-e2ae6b26]{color:var(--subtle)}.delete-button[data-v-e2ae6b26]{width:30px;height:30px;display:grid;place-items:center;color:var(--muted);background:transparent;border-radius:8px}.delete-button[data-v-e2ae6b26]:hover{color:var(--primary);background:var(--primary-soft)}.receipt-modal[data-v-e2ae6b26]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#231e1870}.receipt-modal-card[data-v-e2ae6b26]{width:min(920px,100%);max-height:min(720px,86vh);overflow:auto;padding:20px;background:var(--surface);border-radius:20px;box-shadow:0 24px 80px #29211842}.receipt-modal-card header[data-v-e2ae6b26]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.receipt-modal-card h2[data-v-e2ae6b26]{margin:2px 0 4px;font-size:20px}.receipt-modal-card header span[data-v-e2ae6b26]{color:var(--muted);font-size:12px}.receipt-image-grid[data-v-e2ae6b26]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.receipt-image-grid figure[data-v-e2ae6b26]{margin:0;overflow:hidden;border:1px solid var(--border-soft);border-radius:14px;background:#fbfaf8}.receipt-image-grid img[data-v-e2ae6b26]{width:100%;max-height:360px;display:block;object-fit:contain;background:#f4f1ed}.receipt-image-grid figcaption[data-v-e2ae6b26]{padding:9px 10px;color:var(--muted);font-size:11px;word-break:break-all}@media (max-width: 1180px){.expense-form-grid[data-v-e2ae6b26]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.expense-stat-grid[data-v-e2ae6b26],.expense-chart-grid[data-v-e2ae6b26]{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-chart-grid>article[data-v-e2ae6b26]:last-child{grid-column:1 / -1}}@media (max-width: 620px){.expense-stat-grid[data-v-e2ae6b26],.expense-chart-grid[data-v-e2ae6b26],.expense-form-grid[data-v-e2ae6b26],.receipt-image-grid[data-v-e2ae6b26]{grid-template-columns:1fr}.expense-chart-grid>article[data-v-e2ae6b26]:last-child,.notes-field[data-v-e2ae6b26],.receipt-upload[data-v-e2ae6b26]{grid-column:auto}}.task-create-card[data-v-7f5b0bc3]{padding-bottom:18px}.task-form-grid[data-v-7f5b0bc3]{display:grid;grid-template-columns:2fr 1.2fr 1fr .7fr auto;align-items:end;gap:12px}.task-form-grid button[data-v-7f5b0bc3]{min-height:42px}.task-list-card[data-v-7f5b0bc3]{padding:0;overflow:hidden}.task-list-card>.section-heading[data-v-7f5b0bc3]{padding:18px 20px;border-bottom:1px solid var(--border-soft)}.segmented-tabs[data-v-7f5b0bc3]{display:flex;gap:4px;padding:3px;border-radius:10px;background:#f3f1ee}.segmented-tabs button[data-v-7f5b0bc3]{min-height:32px;padding:0 13px;color:var(--muted);background:transparent;border-radius:8px;font-size:11px}.segmented-tabs button.active[data-v-7f5b0bc3]{color:var(--primary);background:#fff;box-shadow:var(--shadow-xs);font-weight:700}.full-task-list[data-v-7f5b0bc3]{display:grid}.full-task-list article[data-v-7f5b0bc3]{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:13px;padding:15px 20px;border-bottom:1px solid var(--border-soft)}.full-task-list article[data-v-7f5b0bc3]:last-child{border-bottom:0}.full-task-list input[data-v-7f5b0bc3]{width:18px;height:18px;accent-color:var(--green)}.full-task-list span[data-v-7f5b0bc3]{min-width:0;display:grid;gap:4px}.full-task-list span strong[data-v-7f5b0bc3]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-task-list span small[data-v-7f5b0bc3]{display:flex;align-items:center;gap:5px;font-size:10px}.full-task-list article.done strong[data-v-7f5b0bc3]{color:var(--muted);text-decoration:line-through}.priority[data-v-7f5b0bc3]{min-width:30px;padding:4px 7px;border-radius:7px;color:#777;background:#f0efed;font-size:10px;text-align:center}.priority.P0[data-v-7f5b0bc3]{color:#bc4738;background:#fff0ec}.priority.P1[data-v-7f5b0bc3]{color:#a96d18;background:#fff6df}.delete-icon[data-v-7f5b0bc3]{width:32px;height:32px;display:grid;place-items:center;color:var(--muted);background:transparent;border-radius:8px}.delete-icon[data-v-7f5b0bc3]:hover{color:var(--primary);background:var(--primary-soft)}@media (max-width: 1100px){.task-form-grid[data-v-7f5b0bc3]{grid-template-columns:repeat(2,1fr)}.task-form-grid button[data-v-7f5b0bc3]{width:max-content}}@media (max-width: 620px){.task-form-grid[data-v-7f5b0bc3]{grid-template-columns:1fr}.task-form-grid button[data-v-7f5b0bc3]{width:100%}.full-task-list article[data-v-7f5b0bc3]{grid-template-columns:auto 1fr auto}.full-task-list .priority[data-v-7f5b0bc3],.full-task-list[data-v-7f5b0bc3] .status-badge{display:none}}.budget-stat-grid[data-v-5c1d6fa3]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.budget-chart-grid[data-v-5c1d6fa3]{display:grid;grid-template-columns:1.45fr .8fr;gap:14px}.budget-add-card[data-v-5c1d6fa3]{max-width:820px}.budget-add-form[data-v-5c1d6fa3]{display:grid;grid-template-columns:1.5fr 1fr auto;align-items:end;gap:12px}.budget-add-form button[data-v-5c1d6fa3]{min-height:42px}@media (max-width: 980px){.budget-stat-grid[data-v-5c1d6fa3],.budget-chart-grid[data-v-5c1d6fa3]{grid-template-columns:repeat(2,1fr)}.budget-chart-grid>article[data-v-5c1d6fa3]{grid-column:1 / -1}}@media (max-width: 620px){.budget-stat-grid[data-v-5c1d6fa3],.budget-add-form[data-v-5c1d6fa3]{grid-template-columns:1fr}.budget-add-form button[data-v-5c1d6fa3]{width:100%}}.compare-picker-grid[data-v-b723bbbc]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compare-picker-grid label[data-v-b723bbbc]{position:relative;min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:12px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.compare-picker-grid label.selected[data-v-b723bbbc]{border-color:#f0b9ad;background:var(--primary-soft)}.compare-picker-grid input[data-v-b723bbbc]{position:absolute;opacity:0;pointer-events:none}.compare-picker-grid label>span[data-v-b723bbbc]{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:transparent;background:#f0eeeb}.compare-picker-grid label.selected>span[data-v-b723bbbc]{color:#fff;background:var(--primary)}.compare-picker-grid strong[data-v-b723bbbc],.compare-picker-grid small[data-v-b723bbbc]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-picker-grid strong[data-v-b723bbbc]{font-size:12px}.compare-picker-grid small[data-v-b723bbbc]{grid-column:2;font-size:10px}.compare-table-card[data-v-b723bbbc]{padding:0;overflow:hidden}.compare-table-wrap[data-v-b723bbbc]{overflow-x:auto}.compare-table[data-v-b723bbbc]{width:100%;min-width:760px;border-collapse:collapse}.compare-table th[data-v-b723bbbc],.compare-table td[data-v-b723bbbc]{min-width:160px;padding:15px 16px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);text-align:center}.compare-table th[data-v-b723bbbc]:first-child,.compare-table td[data-v-b723bbbc]:first-child{min-width:110px;color:var(--muted);background:#faf8f5;text-align:left;font-weight:650}.compare-table th[data-v-b723bbbc]:last-child,.compare-table td[data-v-b723bbbc]:last-child{border-right:0}.compare-table tr:last-child td[data-v-b723bbbc]{border-bottom:0}.compare-table th img[data-v-b723bbbc]{width:82px;height:70px;display:block;margin:0 auto 9px;object-fit:cover;border-radius:9px}.compare-table th strong[data-v-b723bbbc],.compare-table th b[data-v-b723bbbc]{display:block}.compare-table th strong[data-v-b723bbbc]{font-size:12px}.compare-table th b[data-v-b723bbbc]{margin-top:5px;color:var(--primary);font-size:12px}.compare-table td[data-v-b723bbbc]{color:#52585d;font-size:12px}.recommend[data-v-b723bbbc]{color:#e79c22!important;letter-spacing:1px}@media (max-width: 980px){.compare-picker-grid[data-v-b723bbbc]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.compare-picker-grid[data-v-b723bbbc]{grid-template-columns:1fr}}.knowledge-grid[data-v-cc8f12ce]{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:14px}.stage-guide-nav[data-v-cc8f12ce]{position:sticky;top:82px;padding:12px}.stage-guide-nav .section-heading[data-v-cc8f12ce]{padding:7px 6px 12px}.stage-guide-nav>button[data-v-cc8f12ce]{width:100%;display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;padding:10px;color:var(--muted);background:transparent;border-radius:9px;text-align:left}.stage-guide-nav>button[data-v-cc8f12ce]:hover{background:var(--surface)}.stage-guide-nav>button.active[data-v-cc8f12ce]{color:var(--green);background:var(--green-soft)}.stage-guide-nav>button span[data-v-cc8f12ce]{font-size:10px}.stage-guide-nav>button strong[data-v-cc8f12ce]{font-size:12px}.knowledge-content[data-v-cc8f12ce]{min-width:0;display:grid;gap:14px}.guide-hero[data-v-cc8f12ce]{display:grid;grid-template-columns:1fr 240px;align-items:center;gap:22px}.guide-hero h2[data-v-cc8f12ce]{margin-top:5px;font-size:24px}.guide-hero p[data-v-cc8f12ce]:last-child{margin-top:10px;color:var(--muted);line-height:1.7}.guide-hero img[data-v-cc8f12ce]{width:240px;aspect-ratio:1.45;object-fit:cover;border-radius:12px}.knowledge-detail-grid[data-v-cc8f12ce]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.knowledge-checks[data-v-cc8f12ce]{display:grid}.knowledge-checks label[data-v-cc8f12ce]{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-soft);cursor:pointer}.knowledge-checks input[data-v-cc8f12ce]{width:18px;height:18px;accent-color:var(--green)}.knowledge-checks span[data-v-cc8f12ce]{display:grid;gap:3px}.knowledge-checks strong[data-v-cc8f12ce]{font-size:12px}.knowledge-checks small[data-v-cc8f12ce]{font-size:10px;line-height:1.5}.article-list[data-v-cc8f12ce]{display:grid;gap:10px}.article-list article[data-v-cc8f12ce]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:12px;border-radius:10px;background:var(--surface)}.article-list strong[data-v-cc8f12ce]{font-size:12px}.article-list p[data-v-cc8f12ce]{grid-column:1 / -1;color:var(--muted);font-size:10px;line-height:1.6}@media (max-width: 980px){.knowledge-grid[data-v-cc8f12ce]{grid-template-columns:1fr}.stage-guide-nav[data-v-cc8f12ce]{position:static;display:flex;gap:6px;overflow-x:auto}.stage-guide-nav .section-heading[data-v-cc8f12ce]{display:none}.stage-guide-nav>button[data-v-cc8f12ce]{min-width:130px}}@media (max-width: 760px){.guide-hero[data-v-cc8f12ce],.knowledge-detail-grid[data-v-cc8f12ce]{grid-template-columns:1fr}.guide-hero img[data-v-cc8f12ce]{width:100%}}.tool-grid[data-v-81d75295]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-grid button[data-v-81d75295]{position:relative;min-height:180px;display:grid;align-content:center;justify-items:start;gap:10px;color:var(--text);text-align:left}.tool-grid button[data-v-81d75295]:hover{transform:translateY(-3px);border-color:#e3d8d1;box-shadow:var(--shadow-sm)}.tool-grid button>span[data-v-81d75295]{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--tool-color);background:var(--tool-bg)}.tool-grid button>strong[data-v-81d75295]{margin-top:4px;font-size:17px}.tool-grid button>p[data-v-81d75295]{color:var(--muted);font-size:12px}.tool-grid button>svg[data-v-81d75295]{position:absolute;right:18px;bottom:18px;color:var(--muted)}.tone-blue[data-v-81d75295]{--tool-color: #5e85b6;--tool-bg: #eef4fc}.tone-green[data-v-81d75295]{--tool-color: #438f65;--tool-bg: #eaf7f0}.tone-coral[data-v-81d75295]{--tool-color: #f45b45;--tool-bg: #fff0ec}.tone-yellow[data-v-81d75295]{--tool-color: #b97b20;--tool-bg: #fff6df}.tone-purple[data-v-81d75295]{--tool-color: #8466aa;--tool-bg: #f5effb}.tone-cyan[data-v-81d75295]{--tool-color: #4d91a1;--tool-bg: #ecf7f9}.service-row[data-v-81d75295]{display:flex;align-items:center;justify-content:space-between;gap:20px}.service-row p[data-v-81d75295]{margin-top:6px;color:var(--muted)}.service-row>div[data-v-81d75295]:last-child{display:flex;gap:9px}@media (max-width: 900px){.tool-grid[data-v-81d75295]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.tool-grid[data-v-81d75295]{grid-template-columns:1fr}.service-row[data-v-81d75295]{align-items:flex-start;flex-direction:column}}.settings-grid[data-v-4d75a90d]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.68fr);align-items:start;gap:14px}.settings-main[data-v-4d75a90d],.settings-side[data-v-4d75a90d]{display:grid;gap:14px}.settings-form[data-v-4d75a90d]{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.settings-actions[data-v-4d75a90d]{display:flex;justify-content:flex-end;margin-top:20px}.role-pill[data-v-4d75a90d]{padding:5px 9px;border-radius:999px;color:var(--green);background:var(--green-soft);font-size:11px;font-weight:800}.lock-tip[data-v-4d75a90d]{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:8px 10px;color:#5e85b6;background:#f1f6fd;border-radius:9px;font-size:11px;font-weight:700}.lock-tip.muted[data-v-4d75a90d]{color:var(--muted);background:var(--surface)}.account-card[data-v-4d75a90d]{display:grid;grid-template-columns:auto 1fr;gap:13px}.account-card>span[data-v-4d75a90d]{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:var(--primary-soft)}.account-card>div[data-v-4d75a90d]{display:grid;gap:3px}.account-card p[data-v-4d75a90d]{margin-top:4px;color:var(--muted);font-size:11px}.project-manage-list[data-v-4d75a90d]{display:grid;gap:8px}.project-manage-list>article[data-v-4d75a90d]{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--border-soft);border-radius:11px}.project-manage-list>article.current[data-v-4d75a90d]{border-color:#f2c9bf;background:#fff9f6}.project-manage-list article>span[data-v-4d75a90d]{width:36px;height:36px;display:grid;place-items:center;color:var(--green);background:var(--green-soft);border-radius:10px}.project-manage-list article>div[data-v-4d75a90d]{min-width:0;display:grid;gap:3px}.project-manage-list strong[data-v-4d75a90d],.project-manage-list small[data-v-4d75a90d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-manage-list em[data-v-4d75a90d]{color:var(--primary);font-size:10px;font-style:normal;font-weight:750}.project-manage-list article>button[data-v-4d75a90d]:not(.delete-project){padding:7px 9px;color:var(--green);background:var(--green-soft);border-radius:8px;font-size:10px;font-weight:700}.delete-project[data-v-4d75a90d]{width:32px;height:32px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:8px}.collaboration-summary[data-v-4d75a90d]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.collaboration-summary span[data-v-4d75a90d]{display:grid;gap:3px;padding:12px;border:1px solid var(--border-soft);border-radius:12px;background:#fffdfb}.collaboration-summary strong[data-v-4d75a90d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.collaboration-summary small[data-v-4d75a90d]{color:var(--muted);font-size:10px}.invite-row[data-v-4d75a90d]{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:9px;margin-bottom:14px}.member-list[data-v-4d75a90d],.invitation-list[data-v-4d75a90d]{display:grid;gap:8px}.member-list>article[data-v-4d75a90d],.invitation-list>article[data-v-4d75a90d]{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:11px}.member-list article>span[data-v-4d75a90d]{width:34px;height:34px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:50%;font-size:13px;font-weight:800}.member-list article>div[data-v-4d75a90d],.invitation-list article>div[data-v-4d75a90d]{min-width:0;display:grid;gap:3px}.member-list strong[data-v-4d75a90d],.member-list small[data-v-4d75a90d],.invitation-list strong[data-v-4d75a90d],.invitation-list small[data-v-4d75a90d]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-list small[data-v-4d75a90d],.invitation-list small[data-v-4d75a90d]{color:var(--muted);font-size:10px}.member-list select[data-v-4d75a90d]{min-height:32px;font-size:11px}.member-list em[data-v-4d75a90d]{color:var(--primary);font-size:10px;font-style:normal;font-weight:800}.invitation-list[data-v-4d75a90d]{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-soft)}.invitation-list h3[data-v-4d75a90d]{font-size:13px}.invitation-list button[data-v-4d75a90d]{min-height:30px;padding:0 9px;border-radius:8px;color:var(--green);background:var(--green-soft);font-size:10px;font-weight:750}.invitation-list button.danger[data-v-4d75a90d]{color:var(--primary);background:var(--primary-soft)}.stacked-form[data-v-4d75a90d]{display:grid;gap:12px}.inline-code[data-v-4d75a90d]{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:7px;margin-top:7px}.inline-code button[data-v-4d75a90d]{display:inline-flex;align-items:center;justify-content:center;gap:4px;color:var(--primary);background:var(--primary-soft);border-radius:9px;font-size:10px;font-weight:750}.inline-code button[data-v-4d75a90d]:disabled{color:var(--subtle);cursor:wait}.full-button[data-v-4d75a90d]{width:100%;justify-content:center}dl[data-v-4d75a90d]{display:grid;gap:0;margin:0}dl>div[data-v-4d75a90d]{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--border-soft)}dl>div[data-v-4d75a90d]:last-child{border-bottom:0}dt[data-v-4d75a90d]{color:var(--muted)}dd[data-v-4d75a90d]{margin:0;font-weight:750}.logout-button[data-v-4d75a90d]{min-height:42px;color:var(--primary);background:var(--primary-soft);border-radius:10px;font-weight:700}@media (max-width: 900px){.settings-grid[data-v-4d75a90d]{grid-template-columns:1fr}.settings-side[data-v-4d75a90d]{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-side .logout-button[data-v-4d75a90d]{grid-column:1 / -1}}@media (max-width: 620px){.settings-form[data-v-4d75a90d],.settings-side[data-v-4d75a90d],.invite-row[data-v-4d75a90d]{grid-template-columns:1fr}.settings-side .logout-button[data-v-4d75a90d]{grid-column:auto}.project-manage-list>article[data-v-4d75a90d],.member-list>article[data-v-4d75a90d],.invitation-list>article[data-v-4d75a90d]{grid-template-columns:auto minmax(0,1fr) auto}.project-manage-list em[data-v-4d75a90d],.project-manage-list article>button[data-v-4d75a90d]:not(.delete-project){grid-column:2;justify-self:start}.delete-project[data-v-4d75a90d]{grid-column:3;grid-row:1 / 3}}.style-case-grid[data-v-0ccee12b]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.style-case-grid button[data-v-0ccee12b]{position:relative;overflow:hidden;padding:0;border:2px solid transparent;border-radius:12px;background:var(--surface)}.style-case-grid button.active[data-v-0ccee12b]{border-color:var(--primary)}.style-case-grid img[data-v-0ccee12b]{width:100%;aspect-ratio:1.35;display:block;object-fit:cover}.style-case-grid span[data-v-0ccee12b]{position:absolute;inset:auto 8px 8px;width:max-content;padding:6px 9px;border-radius:8px;color:#fff;background:#1f2429ad;font-size:11px}.featured-case[data-v-0ccee12b]{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px}.featured-case>img[data-v-0ccee12b]{width:100%;min-height:330px;height:100%;object-fit:cover;border-radius:12px}.featured-case>div[data-v-0ccee12b]{align-self:center}.featured-case h2[data-v-0ccee12b]{margin-top:5px;font-size:26px}.featured-case p[data-v-0ccee12b]:not(.page-eyebrow){margin-top:12px;color:var(--muted);line-height:1.75}.featured-case dl[data-v-0ccee12b]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.featured-case dl div[data-v-0ccee12b]{padding:12px;border-radius:10px;background:var(--surface)}.featured-case dt[data-v-0ccee12b]{color:var(--muted);font-size:10px}.featured-case dd[data-v-0ccee12b]{margin:4px 0 0;font-weight:750}@media (max-width: 900px){.style-case-grid[data-v-0ccee12b]{grid-template-columns:repeat(2,1fr)}.featured-case[data-v-0ccee12b]{grid-template-columns:1fr}}.floorplan-workbench[data-v-b373f6ba]{min-height:620px;display:grid;grid-template-columns:84px minmax(0,1fr) 56px;gap:14px;padding:14px}.floor-tool-rail[data-v-b373f6ba]{display:grid;align-content:start;gap:6px;padding:6px;border-radius:12px;background:var(--surface)}.floor-tool-rail button[data-v-b373f6ba]{min-height:64px;display:grid;place-items:center;gap:5px;color:var(--muted);background:transparent;border-radius:10px;font-size:10px}.floor-tool-rail button.active[data-v-b373f6ba]{color:var(--primary);background:#fff;box-shadow:var(--shadow-xs)}.floor-canvas[data-v-b373f6ba]{position:relative;min-width:0;overflow:hidden;display:grid;place-items:center;border-radius:12px;background-color:#f4f1ed;background-image:linear-gradient(#e9e4df 1px,transparent 1px),linear-gradient(90deg,#e9e4df 1px,transparent 1px);background-size:24px 24px}.floor-canvas img[data-v-b373f6ba]{width:min(88%,900px);max-height:560px;object-fit:contain;border-radius:8px;box-shadow:var(--shadow-sm);transition:transform .2s ease}.canvas-mode[data-v-b373f6ba]{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:8px;color:#fff;background:#1f2429b8;font-size:10px}.floor-view-controls[data-v-b373f6ba]{display:grid;align-content:start;gap:6px}.floor-view-controls button[data-v-b373f6ba]{width:44px;height:40px;display:grid;place-items:center;color:var(--muted);background:var(--surface);border-radius:9px}.floor-view-controls button.active[data-v-b373f6ba]{color:#fff;background:var(--primary)}.floor-view-controls small[data-v-b373f6ba]{text-align:center;font-size:9px}@media (max-width: 760px){.floorplan-workbench[data-v-b373f6ba]{min-height:520px;grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.floor-tool-rail[data-v-b373f6ba],.floor-view-controls[data-v-b373f6ba]{display:flex;overflow-x:auto}.floor-tool-rail button[data-v-b373f6ba]{min-width:66px;min-height:52px}.floor-view-controls button[data-v-b373f6ba]{flex:0 0 42px}}.company-summary[data-v-f38d0032]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}.company-summary>span[data-v-f38d0032]{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;color:var(--green);background:var(--green-soft)}.company-summary h2[data-v-f38d0032]{margin-top:3px;font-size:20px}.company-summary p[data-v-f38d0032]{margin-top:5px;color:var(--muted);font-size:11px}.company-summary>strong[data-v-f38d0032]{color:var(--primary);font-size:30px}.company-summary>strong small[data-v-f38d0032]{display:block;color:#e7a328;font-size:10px;letter-spacing:1px}.review-form[data-v-f38d0032]{display:grid;grid-template-columns:1fr .7fr 2fr auto;align-items:end;gap:12px}.review-form button[data-v-f38d0032]{min-height:42px}.review-list[data-v-f38d0032]{display:grid}.review-list>article[data-v-f38d0032]{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--border-soft)}.review-list>article[data-v-f38d0032]:last-child{border-bottom:0}.review-list>article>span[data-v-f38d0032]{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#575e64;font-weight:700}.review-list>article>div[data-v-f38d0032]{display:grid;gap:5px}.review-list em[data-v-f38d0032]{margin-left:6px;color:#e6a12b;font-style:normal;letter-spacing:1px}.review-list p[data-v-f38d0032]{color:#4e555a;line-height:1.7}.review-list small[data-v-f38d0032]{font-size:10px}@media (max-width: 900px){.review-form[data-v-f38d0032]{grid-template-columns:repeat(2,1fr)}.review-form label[data-v-f38d0032]:nth-child(3){grid-column:1 / -1}}@media (max-width: 560px){.company-summary[data-v-f38d0032]{grid-template-columns:auto 1fr}.company-summary>strong[data-v-f38d0032]{grid-column:2}.review-form[data-v-f38d0032]{grid-template-columns:1fr}.review-form label[data-v-f38d0032]:nth-child(3){grid-column:auto}}.ask-card[data-v-43f57da6]{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:20px;background:linear-gradient(110deg,#fff7f2,#fff)}.ask-card>div:first-child p[data-v-43f57da6]{margin-top:6px;color:var(--muted)}.ask-form[data-v-43f57da6]{display:grid;grid-template-columns:1fr 110px auto;gap:9px}.community-list-card[data-v-43f57da6]{padding:0;overflow:hidden}.community-list-card>.section-heading[data-v-43f57da6]{padding:16px 20px;border-bottom:1px solid var(--border-soft)}.community-tabs[data-v-43f57da6]{display:flex;gap:5px;overflow-x:auto}.community-tabs button[data-v-43f57da6]{min-height:32px;padding:0 12px;color:var(--muted);background:transparent;border-radius:8px;font-size:11px}.community-tabs button.active[data-v-43f57da6]{color:var(--primary);background:var(--primary-soft);font-weight:700}.question-list[data-v-43f57da6]{display:grid}.question-list button[data-v-43f57da6]{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 20px;color:var(--text);background:transparent;border-bottom:1px solid var(--border-soft);text-align:left}.question-list button[data-v-43f57da6]:last-child{border-bottom:0}.question-list button[data-v-43f57da6]:hover{background:#fcfaf8}.question-list button>span[data-v-43f57da6]{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--green);background:var(--green-soft)}.question-list button>div[data-v-43f57da6]{min-width:0;display:grid;gap:5px}.question-list strong[data-v-43f57da6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-list small[data-v-43f57da6]{font-size:10px}.question-list button>svg[data-v-43f57da6]{color:var(--muted)}@media (max-width: 900px){.ask-card[data-v-43f57da6]{grid-template-columns:1fr}}@media (max-width: 620px){.ask-form[data-v-43f57da6]{grid-template-columns:1fr}}.admin-stat-grid[data-v-a16d965f]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.admin-stat-grid article[data-v-a16d965f]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px}.admin-stat-grid article>span[data-v-a16d965f]{width:44px;height:44px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:14px}.admin-stat-grid small[data-v-a16d965f],.admin-stat-grid em[data-v-a16d965f]{display:block;color:var(--muted);font-size:10px;font-style:normal}.admin-stat-grid strong[data-v-a16d965f]{display:block;margin:3px 0;font-size:22px}.admin-grid[data-v-a16d965f]{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;align-items:start}.rank-list[data-v-a16d965f],.usage-log[data-v-a16d965f]{display:grid;gap:10px}.rank-row[data-v-a16d965f],.usage-row[data-v-a16d965f]{display:grid;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-soft);border-radius:12px;background:#fffdfb}.rank-row[data-v-a16d965f]{grid-template-columns:34px 1fr auto}.rank-row>span[data-v-a16d965f]{width:30px;height:30px;display:grid;place-items:center;color:var(--primary);background:var(--primary-soft);border-radius:10px;font-weight:900}.rank-row strong[data-v-a16d965f],.usage-row strong[data-v-a16d965f]{display:block;font-size:13px}.rank-row small[data-v-a16d965f],.usage-row small[data-v-a16d965f]{display:block;margin-top:3px;color:var(--muted);font-size:10px}.rank-row b[data-v-a16d965f]{font-size:14px}.usage-row[data-v-a16d965f]{grid-template-columns:auto 1fr auto}.usage-row time[data-v-a16d965f]{color:var(--muted);font-size:10px}.usage-row em[data-v-a16d965f]{display:block;margin-top:5px;color:#b75045;font-size:10px;font-style:normal}.login-log-card[data-v-a16d965f]{display:grid;gap:12px}.login-log-list[data-v-a16d965f]{display:grid;gap:10px}.login-log-row[data-v-a16d965f]{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:12px;border:1px solid var(--border-soft);border-radius:13px;background:#fffdfb}.login-log-row strong[data-v-a16d965f]{display:block;font-size:13px}.login-log-row small[data-v-a16d965f]{display:block;margin-top:3px;color:var(--muted);font-size:10px}.login-log-row em[data-v-a16d965f]{display:block;margin-top:5px;color:#b75045;font-size:10px;font-style:normal}.login-log-row code[data-v-a16d965f]{display:block;margin-top:6px;padding:6px 8px;border-radius:8px;color:#75706a;background:#f7f3ef;font-size:10px;white-space:normal;word-break:break-all}.login-log-row time[data-v-a16d965f]{color:var(--muted);font-size:10px}.user-admin-card[data-v-a16d965f]{padding:0;overflow:hidden}.user-admin-card>.section-heading[data-v-a16d965f]{padding:20px 20px 8px}.admin-table-wrap[data-v-a16d965f]{overflow-x:auto}.admin-user-table[data-v-a16d965f]{min-width:1040px}.user-cell[data-v-a16d965f]{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.user-cell>span[data-v-a16d965f]{width:34px;height:34px;display:grid;place-items:center;color:#fff;background:var(--primary);border-radius:12px;font-weight:900}.user-cell strong[data-v-a16d965f]{display:block;font-size:12px}.user-cell small[data-v-a16d965f],.quota-cell small[data-v-a16d965f]{display:block;margin-top:3px;color:var(--muted);font-size:10px}.admin-user-table input[data-v-a16d965f],.admin-user-table select[data-v-a16d965f]{min-height:32px;padding:0 8px;font-size:11px}.quota-cell input[data-v-a16d965f]{width:92px}.table-actions[data-v-a16d965f]{display:flex;gap:8px}.table-actions button[data-v-a16d965f]{min-height:32px;padding:0 10px;font-size:11px}.danger-button[data-v-a16d965f]{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 14px;border-radius:11px;color:#fff;background:#d14b3f;box-shadow:0 10px 24px #d14b3f33}@media (max-width: 1280px){.admin-stat-grid[data-v-a16d965f]{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid[data-v-a16d965f]{grid-template-columns:1fr}}@media (max-width: 640px){.admin-stat-grid[data-v-a16d965f]{grid-template-columns:1fr}}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;color:#1f2429;background:#f8f7f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--primary: #f45b45;--primary-strong: #e84f3b;--primary-soft: #fff0ec;--green: #55a97a;--green-soft: #eaf7f0;--surface: #f8f7f4;--panel: #ffffff;--text: #1f2429;--muted: #6f7479;--subtle: #9a9ea3;--border: #ebe6df;--border-soft: #f0ece7;--sidebar-width: 220px;--sidebar-collapsed-width: 76px;--header-height: 64px;--shadow-xs: 0 3px 12px rgba(31, 36, 41, .035);--shadow-sm: 0 8px 24px rgba(31, 36, 41, .05);--shadow-lg: 0 22px 60px rgba(31, 36, 41, .14)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--surface)}body{min-width:320px;min-height:100vh;margin:0;color:var(--text);background:var(--surface);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;letter-spacing:0}button{border:0;cursor:pointer;white-space:nowrap;word-break:keep-all;transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,opacity .18s ease}button:disabled{cursor:not-allowed;opacity:.52}button:active:not(:disabled){transform:translateY(1px)}input,select,textarea{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:10px;outline:none;color:var(--text);background:#fff;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}textarea{padding-block:10px;line-height:1.6}input::placeholder,textarea::placeholder{color:#b0b2b4}input:focus,select:focus,textarea:focus{border-color:#eca99e;box-shadow:0 0 0 3px #f45b4517}input[type=checkbox]{min-height:0;padding:0}label{display:grid;gap:6px;color:var(--muted);font-size:12px}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.22;font-weight:780}h2{font-size:17px;line-height:1.3;font-weight:750}h3{font-size:15px;line-height:1.35;font-weight:720}small{color:var(--muted)}img{max-width:100%}:focus-visible{outline:3px solid rgba(244,91,69,.2);outline-offset:2px}.app-frame{min-height:100vh;background:var(--surface)}.app-content{min-height:100vh;margin-left:var(--sidebar-width);padding-top:var(--header-height);transition:margin-left .2s ease}.sidebar-collapsed .app-content{margin-left:var(--sidebar-collapsed-width)}.content-container{width:min(100%,1680px);min-height:calc(100vh - var(--header-height));margin:0 auto;padding:24px clamp(18px,2vw,32px) 40px}.page-stack{display:grid;gap:14px}.page-heading{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.page-heading>div:first-child{min-width:0}.page-heading h1{margin-top:3px}.page-heading p:last-child{margin-top:7px;color:var(--muted);font-size:12px}.page-actions{display:flex;align-items:center;gap:9px}.page-eyebrow{color:var(--primary);font-size:11px;font-weight:750}.surface-card{min-width:0;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow-xs)}.section-heading{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading.compact{align-items:center;margin-bottom:13px}.section-heading>div{min-width:0}.section-heading h2{margin:0}.section-heading span{display:block;margin-top:3px;color:var(--muted);font-size:10px}.section-heading>svg{color:var(--green)}.primary-button,.secondary-button,.icon-text-button,.text-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:10px;font-size:12px;font-weight:720}.primary-button{color:#fff;background:var(--primary);box-shadow:0 7px 18px #f45b4529}.primary-button:hover{background:var(--primary-strong);box-shadow:0 9px 22px #f45b4533}.secondary-button{color:var(--text);background:#fff;border:1px solid var(--border)}.secondary-button:hover{border-color:#e1d5cd;background:#fcfaf8}.icon-text-button{min-height:32px;padding-inline:10px;color:var(--green);background:var(--green-soft)}.text-button{min-height:28px;padding:0;color:var(--primary);background:transparent}.text-button:hover{color:var(--primary-strong)}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 16px;border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle}.data-table th{color:var(--muted);background:#fbfaf8;font-size:10px;font-weight:700}.data-table td{color:#4f555a;font-size:11px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:#fdfbf9}.data-table .number{text-align:right;font-variant-numeric:tabular-nums}.error-banner{position:sticky;top:calc(var(--header-height) + 10px);z-index:20;display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px 13px;border:1px solid #f1c7be;border-radius:10px;color:#b44336;background:#fff5f2;box-shadow:var(--shadow-sm);font-size:12px}.app-toast{position:fixed;top:78px;right:24px;z-index:100;min-width:220px;max-width:min(420px,calc(100vw - 32px));padding:11px 14px;border:1px solid #cfe8d8;border-radius:10px;color:#337a53;background:#f2fbf6;box-shadow:var(--shadow-sm);font-size:12px;font-weight:650}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .18s ease,transform .18s ease}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translateY(-6px)}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:grid;place-items:center;padding:20px;background:#1f24294d;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(560px,100%);max-height:min(820px,calc(100vh - 40px));overflow-y:auto;padding:24px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-lg)}.modal-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.modal-card>header h2{margin-top:4px;font-size:21px}.modal-card>header p:last-child{margin-top:6px;color:var(--muted);font-size:11px}.modal-card>header>button{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;color:var(--muted);background:var(--surface);border-radius:9px}.utility-modal{width:min(520px,100%)}.modal-search{position:relative;display:block}.modal-search svg{position:absolute;top:50%;left:12px;z-index:1;color:var(--muted);transform:translateY(-50%)}.modal-search input{padding-left:38px}.search-result-list,.notification-list{display:grid;gap:5px;margin-top:12px}.search-result-list button,.notification-list button{min-height:46px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:0 11px;color:var(--text);background:transparent;border-radius:9px;text-align:left}.search-result-list button:hover,.notification-list button:hover{background:var(--surface)}.search-result-list button>svg:first-child,.notification-list button>svg:first-child{color:var(--green)}.search-result-list button>svg:last-child,.notification-list button>svg:last-child{color:var(--muted)}.notification-list button{min-height:62px}.notification-list button span{display:grid;gap:3px}.notification-list button strong{font-size:12px}.notification-list button small{font-size:9px}.project-modal{width:min(680px,100%)}.project-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.project-modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.question-modal{width:min(660px,100%)}.answer-list{display:grid;gap:10px;max-height:360px;overflow-y:auto}.answer-list article{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border-radius:11px;background:var(--surface)}.answer-list article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#fff;background:var(--green);font-size:11px;font-weight:700}.answer-list article>div{display:grid;gap:5px}.answer-list p{color:#4f555a;line-height:1.65}.answer-list small{font-size:9px}.answer-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:16px}.empty-copy{padding:24px;color:var(--muted);text-align:center}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .2s ease}.modal-fade-enter-active .modal-card,.modal-fade-leave-active .modal-card{transition:transform .2s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.modal-fade-enter-from .modal-card,.modal-fade-leave-to .modal-card{transform:translateY(8px) scale(.985)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#d9d5d0;background-clip:content-box}@media (max-width: 1080px){.app-content{margin-left:var(--sidebar-collapsed-width)}.content-container{padding-inline:20px}}@media (max-width: 760px){:root{--header-height: 58px}body{font-size:13px}h1{font-size:25px}.app-content,.sidebar-collapsed .app-content{margin-left:0}.content-container{padding:18px 12px 30px}.page-stack{gap:12px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-actions{width:100%}.page-actions>button{flex:1}.surface-card{padding:15px;border-radius:14px}.section-heading{gap:10px}.modal-layer{padding:0;place-items:end center}.modal-card{width:100%;max-height:92vh;border-radius:16px 16px 0 0}.project-form-grid,.answer-form{grid-template-columns:1fr}.app-toast{top:68px;right:12px;left:12px;min-width:0;text-align:center}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
