:root{--color-bg: #0d1208;--color-surface: rgba(140, 238, 43, .03);--color-surface-solid: #141e0e;--color-surface-2: rgba(140, 238, 43, .06);--color-border: rgba(140, 238, 43, .1);--color-border-solid: #1f2e14;--color-primary: #8cee2b;--color-primary-hover: #a4f556;--color-primary-glow: rgba(140, 238, 43, .4);--color-accent: #8cee2b;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-user-bubble: rgba(140, 238, 43, .08);--color-ai-bubble: rgba(140, 238, 43, .03);--color-error: #ff6b6b;--radius-lg: 16px;--radius-md: 10px;--radius-sm: 6px;--radius-xl: 24px;--shadow-glow: 0 0 40px rgba(140, 238, 43, .08);--transition: .2s ease;--font-body: "Manrope", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}#root{height:100%;display:flex;flex-direction:column}.glass{background:var(--color-surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border)}.glow-corner-tl{background:radial-gradient(circle at top left,rgba(140,238,43,.08) 0%,transparent 50%)}.glow-corner-br{background:radial-gradient(circle at bottom right,rgba(140,238,43,.05) 0%,transparent 50%)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-solid);border-radius:99px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-container[data-v-c0422c84]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;overflow:hidden}.auth-glow-tl[data-v-c0422c84],.auth-glow-br[data-v-c0422c84],.auth-glow-center[data-v-c0422c84]{position:absolute;pointer-events:none}.auth-glow-tl[data-v-c0422c84]{inset:0;background:radial-gradient(circle at top left,rgba(140,238,43,.08) 0%,transparent 50%)}.auth-glow-br[data-v-c0422c84]{inset:0;background:radial-gradient(circle at bottom right,rgba(140,238,43,.05) 0%,transparent 50%)}.auth-glow-center[data-v-c0422c84]{top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:#8cee2b0d;filter:blur(120px);border-radius:50%}.auth-card[data-v-c0422c84]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2.5rem;border-radius:var(--radius-xl);max-width:380px;width:90%;animation:fadeUp-c0422c84 .5s ease both}@keyframes fadeUp-c0422c84{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo[data-v-c0422c84]{color:var(--color-primary)}.auth-logo-img[data-v-c0422c84]{width:64px;height:64px;border-radius:50%}.auth-title[data-v-c0422c84]{font-size:1.4rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text)}.auth-subtitle[data-v-c0422c84]{color:var(--color-text-muted);font-size:.85rem;margin-bottom:.5rem}.auth-google-btn[data-v-c0422c84]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#72c255;color:var(--color-bg);text-decoration:none;font-weight:700;font-size:.9rem;border-radius:var(--radius-md);transition:background .2s ease;font-family:var(--font-body)}.auth-google-btn[data-v-c0422c84]:hover{background:#84ce6a}.auth-icon-denied[data-v-c0422c84]{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ff6b6b1a;color:var(--color-error)}.auth-icon-denied .material-symbols-outlined[data-v-c0422c84]{font-size:28px}.auth-logout-btn[data-v-c0422c84]{padding:.5rem 1.5rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-md);font-size:.85rem;font-family:var(--font-body);transition:all var(--transition)}.auth-logout-btn[data-v-c0422c84]:hover{color:var(--color-text);border-color:var(--color-text-muted)}.auth-spinner[data-v-c0422c84]{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-c0422c84 .8s linear infinite;margin-bottom:1rem}.auth-loading-text[data-v-c0422c84]{color:var(--color-text-muted);font-size:.9rem}@keyframes spin-c0422c84{to{transform:rotate(360deg)}}.app-bg-glows[data-v-c0422c84]{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.app-glow-layer[data-v-c0422c84]{position:absolute;inset:0}.app-glow-center[data-v-c0422c84]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:#8cee2b0d;filter:blur(120px);border-radius:50%}.app-shell[data-v-c0422c84]{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh}.topbar[data-v-c0422c84]{display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:64px;flex-shrink:0}.topbar-brand[data-v-c0422c84]{display:flex;align-items:center;gap:.5rem;opacity:.6;transition:opacity .2s;cursor:default}.topbar-brand[data-v-c0422c84]:hover{opacity:1}.topbar-logo[data-v-c0422c84]{color:var(--color-primary)}.topbar-logo-img[data-v-c0422c84]{width:28px;height:28px;border-radius:50%}.topbar-name[data-v-c0422c84]{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.topbar-user[data-v-c0422c84]{display:flex;align-items:center;gap:.75rem}.topbar-avatar[data-v-c0422c84]{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border)}.topbar-logout-btn[data-v-c0422c84]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--color-text-muted);transition:all var(--transition)}.topbar-logout-btn[data-v-c0422c84]:hover{background:#8cee2b1a;color:var(--color-primary)}.app-footer[data-v-c0422c84]{padding:2rem;text-align:center;opacity:.3;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.bubble-row[data-v-02349a77]{display:flex;align-items:flex-end;gap:10px;animation:fadeIn-02349a77 .25s ease both}@keyframes fadeIn-02349a77{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bubble-row--user[data-v-02349a77]{flex-direction:row-reverse}.avatar[data-v-02349a77]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-primary);margin-bottom:4px;overflow:hidden}.avatar-img[data-v-02349a77]{width:100%;height:100%;object-fit:cover}.bubble[data-v-02349a77]{max-width:74%;padding:12px 16px;border-radius:var(--radius-lg);font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.bubble--user[data-v-02349a77]{background:var(--color-user-bubble);border:1px solid rgba(140,238,43,.2);border-bottom-right-radius:4px;color:var(--color-text);margin-left:auto}.bubble--ai[data-v-02349a77]{background:var(--color-ai-bubble);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-bottom-left-radius:4px;color:var(--color-text)}.bubble--streaming[data-v-02349a77]{border-color:var(--color-primary)}.cursor-blink[data-v-02349a77]{display:inline-block;color:var(--color-primary);animation:blink-02349a77 1s step-end infinite}@keyframes blink-02349a77{50%{opacity:0}}.modal-backdrop[data-v-e3836479]{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fadeIn-e3836479 .2s ease}@keyframes fadeIn-e3836479{0%{opacity:0}to{opacity:1}}.modal[data-v-e3836479]{border-radius:var(--radius-xl);padding:36px 32px;width:100%;max-width:440px;position:relative;box-shadow:var(--shadow-glow);animation:slideUp-e3836479 .28s ease both}@keyframes slideUp-e3836479{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal__close[data-v-e3836479]{position:absolute;top:16px;right:18px;background:none;border:none;font-size:1.4rem;color:var(--color-text-muted);cursor:pointer;line-height:1;transition:color var(--transition)}.modal__close[data-v-e3836479]:hover{color:var(--color-text)}.modal__title[data-v-e3836479]{font-size:1.4rem;font-weight:700;margin-bottom:6px}.modal__subtitle[data-v-e3836479]{color:var(--color-text-muted);font-size:.9rem;margin-bottom:24px}.modal__form[data-v-e3836479]{display:flex;flex-direction:column;gap:16px}.field[data-v-e3836479]{display:flex;flex-direction:column;gap:6px}.field label[data-v-e3836479]{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.required[data-v-e3836479]{color:var(--color-error)}.field input[data-v-e3836479],.field textarea[data-v-e3836479]{background:#8cee2b0a;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:11px 14px;font-family:var(--font-body);font-size:.95rem;color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition);resize:none}.field input[data-v-e3836479]:focus,.field textarea[data-v-e3836479]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #8cee2b1a}.field input[data-v-e3836479]::placeholder,.field textarea[data-v-e3836479]::placeholder{color:var(--color-text-muted)}.input--error[data-v-e3836479]{border-color:var(--color-error)!important}.field__error[data-v-e3836479]{font-size:.8rem;color:var(--color-error)}.btn-primary[data-v-e3836479]{background:var(--color-primary);border:none;border-radius:var(--radius-md);padding:13px 20px;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-bg);cursor:pointer;transition:box-shadow var(--transition),transform var(--transition);margin-top:4px}.btn-primary[data-v-e3836479]:hover:not(:disabled){box-shadow:0 0 24px var(--color-primary-glow);transform:scale(1.01)}.btn-primary[data-v-e3836479]:disabled{opacity:.5;cursor:not-allowed}.intent-selector[data-v-bc8db190]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;animation:fadeIn-bc8db190 .5s ease both;min-height:100%}@keyframes fadeIn-bc8db190{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.intent-selector__header[data-v-bc8db190]{text-align:center;margin-bottom:40px}.intent-logo[data-v-bc8db190]{margin-bottom:16px;animation:logoFloat-bc8db190 3s ease-in-out infinite}.intent-logo-img[data-v-bc8db190]{width:72px;height:72px;border-radius:50%}@keyframes logoFloat-bc8db190{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.intent-title[data-v-bc8db190]{font-size:1.8rem;font-weight:700;color:var(--color-text);margin-bottom:8px;letter-spacing:-.02em}.intent-subtitle[data-v-bc8db190]{color:var(--color-text-muted);font-size:1rem}.intent-options[data-v-bc8db190]{display:flex;flex-direction:column;gap:14px;width:100%;max-width:440px}.intent-btn[data-v-bc8db190]{display:flex;align-items:center;gap:16px;width:100%;padding:18px 20px;border-radius:var(--radius-lg);cursor:pointer;transition:all .25s ease;text-align:left;color:var(--color-text);font-family:var(--font-body);animation:slideIn-bc8db190 .4s ease both}.intent-btn[data-v-bc8db190]:nth-child(1){animation-delay:.1s}.intent-btn[data-v-bc8db190]:nth-child(2){animation-delay:.2s}.intent-btn[data-v-bc8db190]:nth-child(3){animation-delay:.3s}@keyframes slideIn-bc8db190{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.intent-btn[data-v-bc8db190]:hover{border-color:var(--color-primary);background:#8cee2b0f;box-shadow:0 0 24px #8cee2b14;transform:translate(4px)}.intent-btn__icon[data-v-bc8db190]{font-size:1.6rem;flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);border-radius:var(--radius-md)}.intent-btn__text[data-v-bc8db190]{flex:1;display:flex;flex-direction:column;gap:2px}.intent-btn__label[data-v-bc8db190]{font-size:.95rem;font-weight:600;color:var(--color-text)}.intent-btn__desc[data-v-bc8db190]{font-size:.78rem;color:var(--color-text-muted);line-height:1.3}.intent-btn__arrow[data-v-bc8db190]{font-size:18px;color:var(--color-text-muted);transition:transform .2s ease,color .2s ease;flex-shrink:0}.intent-btn:hover .intent-btn__arrow[data-v-bc8db190]{transform:translate(4px);color:var(--color-primary)}.estimation-card[data-v-dba73b89]{border-radius:var(--radius-lg);padding:24px;animation:fadeUp-dba73b89 .4s ease both}@keyframes fadeUp-dba73b89{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.estimation-header[data-v-dba73b89]{text-align:center;margin-bottom:20px}.estimation-icon[data-v-dba73b89]{font-size:28px;color:var(--color-primary)}.estimation-title[data-v-dba73b89]{font-size:1.1rem;font-weight:700;margin:8px 0 4px;color:var(--color-primary)}.estimation-subtitle[data-v-dba73b89]{font-size:.8rem;color:var(--color-text-muted)}.estimation-grid[data-v-dba73b89]{display:flex;flex-direction:column;gap:14px}.provider-card[data-v-dba73b89]{border-radius:var(--radius-md);padding:16px}.provider-header[data-v-dba73b89]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.provider-name[data-v-dba73b89]{font-weight:600;font-size:.9rem}.complexity-badge[data-v-dba73b89]{font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.complexity--low[data-v-dba73b89]{background:#8cee2b1f;color:var(--color-primary)}.complexity--medium[data-v-dba73b89]{background:#facc151f;color:#facc15}.complexity--high[data-v-dba73b89]{background:#f973161f;color:#f97316}.complexity--very_high[data-v-dba73b89]{background:#ef44441f;color:#ef4444}.provider-metrics[data-v-dba73b89]{display:flex;gap:20px;margin-bottom:12px}.metric[data-v-dba73b89]{display:flex;flex-direction:column;gap:2px}.metric-label[data-v-dba73b89]{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.metric-value[data-v-dba73b89]{font-size:1rem;font-weight:700;color:var(--color-text)}.stack-pills[data-v-dba73b89]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.stack-pill[data-v-dba73b89]{font-size:.72rem;padding:3px 8px;background:#8cee2b14;color:var(--color-primary);border-radius:99px;font-weight:500}.breakdown-section[data-v-dba73b89],.notes-section[data-v-dba73b89]{margin-top:10px;font-size:.82rem}.breakdown-section summary[data-v-dba73b89],.notes-section summary[data-v-dba73b89]{cursor:pointer;color:var(--color-text-muted);font-size:.78rem;padding:4px 0;-webkit-user-select:none;user-select:none}.breakdown-list[data-v-dba73b89]{list-style:none;padding:8px 0 0}.breakdown-list li[data-v-dba73b89]{display:grid;grid-template-columns:1fr auto;gap:4px;padding:6px 0;border-bottom:1px solid var(--color-border)}.breakdown-list li[data-v-dba73b89]:last-child{border-bottom:none}.breakdown-phase[data-v-dba73b89]{font-weight:600;color:var(--color-text)}.breakdown-hours[data-v-dba73b89]{color:var(--color-primary);font-weight:600;text-align:right}.breakdown-desc[data-v-dba73b89]{grid-column:1 / -1;color:var(--color-text-muted);font-size:.76rem}.notes-block[data-v-dba73b89]{margin-top:8px}.notes-block strong[data-v-dba73b89]{color:var(--color-text-muted);font-size:.78rem}.notes-block ul[data-v-dba73b89]{padding-left:16px;margin-top:4px;color:var(--color-text-muted)}.notes-block li[data-v-dba73b89]{margin-bottom:2px}.estimation-cta[data-v-dba73b89]{width:100%;margin-top:20px;padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-body)}.estimation-cta[data-v-dba73b89]:hover{border-color:var(--color-primary);color:var(--color-primary)}.chat-page[data-v-5a8cf84e]{display:flex;flex-direction:column;flex:1;max-width:760px;margin:0 auto;width:100%;min-height:0}.chat-main[data-v-5a8cf84e]{display:flex;flex-direction:column;flex:1;overflow:hidden}.messages[data-v-5a8cf84e]{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:16px}.typing-indicator[data-v-5a8cf84e]{display:flex;gap:5px;padding:14px 18px;background:var(--color-ai-bubble);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 4px;width:fit-content}.typing-indicator span[data-v-5a8cf84e]{width:7px;height:7px;border-radius:50%;background:var(--color-text-muted);animation:bounce-5a8cf84e 1.2s infinite ease-in-out}.typing-indicator span[data-v-5a8cf84e]:nth-child(2){animation-delay:.2s}.typing-indicator span[data-v-5a8cf84e]:nth-child(3){animation-delay:.4s}@keyframes bounce-5a8cf84e{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-input-area[data-v-5a8cf84e]{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.chat-error[data-v-5a8cf84e]{color:var(--color-error);font-size:.8rem;padding:6px 10px;background:#ff6b6b1a;border-radius:var(--radius-sm)}.chat-input-wrapper[data-v-5a8cf84e]{position:relative}.chat-input-glow[data-v-5a8cf84e]{display:none}.chat-input-box[data-v-5a8cf84e]{position:relative;border-radius:var(--radius-xl);padding:.5rem;box-shadow:0 8px 32px #0000004d}.chat-input-box textarea[data-v-5a8cf84e]{width:100%;min-height:80px;max-height:160px;background:transparent;border:none;font-family:var(--font-body);font-size:.95rem;color:var(--color-text);resize:none;line-height:1.6;padding:1rem 1.25rem;outline:none}.chat-input-box textarea[data-v-5a8cf84e]::placeholder{color:var(--color-text-muted)}.chat-input-box textarea[data-v-5a8cf84e]:disabled{opacity:.5;cursor:not-allowed}.chat-input-actions[data-v-5a8cf84e]{display:flex;align-items:center;justify-content:flex-end;padding:.25rem .5rem}.send-btn[data-v-5a8cf84e]{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#72c255;color:var(--color-bg);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.85rem;font-weight:700;cursor:pointer;transition:background .2s ease}.send-btn[data-v-5a8cf84e]:hover:not(:disabled){background:#84ce6a}.send-btn[data-v-5a8cf84e]:disabled{opacity:.4;cursor:not-allowed}.estimate-cta[data-v-5a8cf84e]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:var(--color-primary);border-radius:var(--radius-md);padding:12px 18px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .25s ease;font-family:var(--font-body)}.estimate-cta[data-v-5a8cf84e]:hover{background:var(--color-primary);color:var(--color-bg);box-shadow:0 0 20px var(--color-primary-glow)}.estimating-indicator[data-v-5a8cf84e]{display:flex;align-items:center;gap:10px;color:var(--color-text-muted);font-size:.85rem;padding:10px 14px;border-radius:var(--radius-md)}.estimating-spinner[data-v-5a8cf84e]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-5a8cf84e .8s linear infinite}@keyframes spin-5a8cf84e{to{transform:rotate(360deg)}}.connect-cta[data-v-5a8cf84e]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-md);padding:10px 18px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:var(--font-body)}.connect-cta[data-v-5a8cf84e]:hover{border-color:var(--color-primary);color:var(--color-primary)}.thank-you-page[data-v-4dfc6633]{min-height:100%;display:flex;align-items:center;justify-content:center;padding:40px 20px}.thank-you-card[data-v-4dfc6633]{max-width:480px;text-align:center;padding:48px 40px;border-radius:var(--radius-xl);box-shadow:var(--shadow-glow);animation:fadeUp-4dfc6633 .5s ease both}@keyframes fadeUp-4dfc6633{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.icon[data-v-4dfc6633]{font-size:3rem;margin-bottom:20px}h1[data-v-4dfc6633]{font-size:2rem;font-weight:700;color:var(--color-primary);margin-bottom:16px}p[data-v-4dfc6633]{color:var(--color-text-muted);line-height:1.7;margin-bottom:32px}.back-link[data-v-4dfc6633]{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-primary);text-decoration:none;font-size:.9rem;transition:opacity var(--transition)}.back-link[data-v-4dfc6633]:hover{opacity:.8}.callback-container[data-v-d9b14525]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;gap:1rem}.callback-container h2[data-v-d9b14525]{color:var(--color-text);font-size:1.2rem;font-weight:600}.callback-container p[data-v-d9b14525]{color:var(--color-text-muted);font-size:.85rem}.callback-spinner[data-v-d9b14525]{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin-d9b14525 .8s linear infinite}@keyframes spin-d9b14525{to{transform:rotate(360deg)}}
