@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,900&family=Outfit:wght@400;500;600;700&display=swap";:root{--teal:#0d4f4f;--teal-mid:#155f5f;--teal-light:#1d7a7a;--teal-pale:#e6f4f4;--bg:#faf7f2;--surface:#fff;--surface-2:#f6f2ec;--border:#e8e2d9;--border-strong:#d8d0c3;--text:#1a1a1a;--text-2:#5a5a5a;--text-3:#9a9a9a;--green:#16a34a;--green-bg:#dcfce7;--amber:#d97706;--amber-bg:#fef3c7;--blue:#2563eb;--blue-bg:#dbeafe;--red:#dc2626;--red-bg:#fee2e2;--shadow-xs:0 1px 2px #14140f0a;--shadow-sm:0 1px 2px #14140f0a, 0 4px 10px #14140f0d;--shadow-md:0 2px 6px #14140f0f, 0 10px 24px #14140f12;--radius:14px;--radius-sm:9px;--radius-lg:18px;--nav-h:66px;--ease:cubic-bezier(.2,.7,.3,1);--t-fast:.12s;--t-base:.18s;--ff-head:"Fraunces", Georgia, serif;--ff-body:"Outfit", system-ui, sans-serif;--fs-2xs:.68rem;--fs-xs:.74rem;--fs-sm:.82rem;--fs-base:.91rem;--fs-md:1.02rem;--fs-lg:1.22rem;--fs-xl:1.55rem;--fs-2xl:2.05rem}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text);font-family:var(--ff-body);font-size:var(--fs-base);-webkit-tap-highlight-color:transparent;margin:0}h1,h2,h3{font-family:var(--ff-head);letter-spacing:-.01em;margin:0}button,input,textarea,select{font-family:var(--ff-body)}:focus-visible{outline:2px solid var(--teal-light);outline-offset:2px;border-radius:4px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-body{padding-bottom:calc(var(--nav-h) + 16px);width:100%;max-width:720px;animation:fade-in .28s var(--ease);flex:1;margin:0 auto}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.top-bar{z-index:10;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 20px;display:flex;position:sticky;top:0}.top-bar h1{font-size:var(--fs-lg);color:var(--teal);font-weight:700}.back-btn{color:var(--teal);font-size:var(--fs-sm);cursor:pointer;transition:opacity var(--t-fast) var(--ease);background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 2px;font-weight:600;display:flex}.back-btn:hover{opacity:.72}.back-btn:active{opacity:.5}.bottom-nav{height:var(--nav-h);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--text-3);font-size:var(--fs-2xs);transition:color var(--t-fast) var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-weight:600;text-decoration:none;display:flex;position:relative}.bottom-nav a svg{transition:transform var(--t-fast) var(--ease)}.bottom-nav a.active{color:var(--teal)}.bottom-nav a.active svg{transform:translateY(-1px)}.bottom-nav a.active:before{content:"";background:var(--teal);border-radius:50%;width:4px;height:4px;position:absolute;top:6px;left:50%;transform:translate(11px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);transition:box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease), transform var(--t-fast) var(--ease);margin-bottom:10px;padding:14px 16px}.card[onclick],a.card{cursor:pointer}.card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.card:active{transform:scale(.99)}.badge{font-size:var(--fs-2xs);letter-spacing:.02em;border-radius:100px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.badge.stage-New{background:var(--blue-bg);color:var(--blue)}.badge.stage-Contacted{background:var(--amber-bg);color:var(--amber)}.badge.stage-Quote_Sent{background:var(--teal-pale);color:var(--teal)}.badge.stage-Won{background:var(--green-bg);color:var(--green)}.badge.stage-Lost{background:var(--red-bg);color:var(--red)}.btn{border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:var(--fs-base);transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-base) var(--ease);border:none;justify-content:center;align-items:center;gap:7px;padding:11px 16px;display:inline-flex}.btn:hover{box-shadow:var(--shadow-xs)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-mid)}.btn-secondary{background:var(--teal-pale);color:var(--teal)}.btn-secondary:hover{background:color-mix(in srgb, var(--teal-pale) 80%, var(--teal) 8%)}.btn-danger{background:var(--red-bg);color:var(--red)}.btn-block{width:100%}.field{margin-bottom:15px}.field label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:6px;font-weight:600;display:block}.field input,.field textarea,.field select{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--fs-base);color:var(--text);background:var(--surface);transition:border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);outline:none;padding:10px 12px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal-light);box-shadow:0 0 0 3px color-mix(in srgb, var(--teal-light) 16%, transparent)}.field textarea{resize:none}.empty-state{text-align:center;color:var(--text-3);font-size:var(--fs-sm);flex-direction:column;align-items:center;gap:10px;padding:48px 20px;display:flex}.empty-state svg{opacity:.35}.error-banner{background:var(--red-bg);color:var(--red);border-radius:var(--radius-sm);font-size:var(--fs-sm);border:1px solid color-mix(in srgb, var(--red) 18%, transparent);margin-bottom:12px;padding:10px 14px}.skeleton{background:linear-gradient(100deg, var(--border) 30%, var(--surface-2) 50%, var(--border) 70%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.pipeline-track{align-items:center;padding:18px 20px 20px;display:flex}.pt-step{flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.pt-dot{background:var(--border-strong);width:11px;height:11px;transition:background var(--t-base) var(--ease);border-radius:50%}.pt-step.active .pt-dot{background:var(--teal);box-shadow:0 0 0 4px var(--teal-pale)}.pt-step.done .pt-dot{background:var(--teal)}.pt-step.lost .pt-dot{background:var(--red);box-shadow:0 0 0 4px var(--red-bg)}.pt-label{font-size:var(--fs-2xs);color:var(--text-3);white-space:nowrap;font-weight:600}.pt-step.active .pt-label,.pt-step.done .pt-label{color:var(--teal)}.pt-step.lost .pt-label{color:var(--red)}.pt-line{background:var(--border);height:2px;transition:background var(--t-base) var(--ease);flex:1;margin:0 4px 19px}.pt-line.done{background:var(--teal)}.msg-thread{flex-direction:column;gap:8px;padding:4px 0;display:flex}.msg-bubble{max-width:80%;font-size:var(--fs-sm);box-shadow:var(--shadow-xs);animation:bubble-in .2s var(--ease);border-radius:14px;padding:9px 13px;line-height:1.45}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-bubble.out{background:var(--teal-pale);color:var(--text);border-bottom-right-radius:4px;align-self:flex-end}.msg-bubble.in{background:var(--surface);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px;align-self:flex-start}.msg-bubble .mb-time{font-size:var(--fs-2xs);color:var(--text-3);margin-top:4px}.msg-bubble .mb-intent{font-size:var(--fs-2xs);color:var(--amber);margin-top:4px;font-weight:600;display:inline-block}.msg-composer{border-top:1px solid var(--border);align-items:flex-end;gap:8px;margin-top:10px;padding-top:10px;display:flex}.msg-composer textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-base);background:var(--surface);resize:none;max-height:100px;transition:border-color var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease);outline:none;flex:1;padding:10px 13px}.msg-composer textarea:focus{border-color:var(--teal-light);box-shadow:0 0 0 3px color-mix(in srgb, var(--teal-light) 16%, transparent)}.msg-composer button{background:var(--teal);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);border:none;flex-shrink:0;padding:10px 18px;font-weight:600}.msg-composer button:hover:not(:disabled){background:var(--teal-mid)}.msg-composer button:active:not(:disabled){transform:scale(.96)}.msg-composer button:disabled{opacity:.45;cursor:default}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:14px 16px}.stat-tile .stat-label{color:var(--text-3);font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-weight:600}.stat-tile .stat-value{font-size:var(--fs-xl);font-weight:700;font-family:var(--ff-head)}.icon-btn{border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);transition:all var(--t-fast) var(--ease);justify-content:center;align-items:center;gap:7px;padding:10px 14px;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.icon-btn:active{transform:scale(.97)}
