:root{--ink: #14233d;--ink-soft: #3a4a63;--green: #1f7a5c;--green-tint: #e4f0ea;--paper: #fbf9f3;--bot-bg: #f2efe4;--line: #d8d2c0}html,body{height:100%}body{background:var(--paper);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.app{width:100%;max-width:500px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 40px #14233d17;overflow:hidden;display:flex;flex-direction:column;height:min(680px,90vh)}.header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line);flex-shrink:0}.header-l{display:flex;align-items:center;gap:11px}.badge{width:38px;height:38px;border-radius:10px;background:var(--green);color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}.title{font-size:15px;font-weight:700}.sub{font-size:12px;color:var(--ink-soft);margin-top:1px}.online{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-soft)}.dot{width:7px;height:7px;border-radius:50%;background:#22c55e;display:inline-block}.body{flex:1;overflow-y:auto;padding:18px 14px;display:flex;flex-direction:column;gap:10px}.bubble{display:flex;gap:8px;max-width:88%}.bubble.bot{align-self:flex-start}.bubble.user{align-self:flex-end;flex-direction:row-reverse}.av{width:28px;height:28px;border-radius:7px;background:var(--green);color:#fff;font-weight:700;font-size:9px;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.bubble-body{padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.55}.bubble.bot .bubble-body{background:var(--bot-bg);border-bottom-left-radius:4px;color:var(--ink)}.bubble.user .bubble-body{background:var(--green);color:#fff;border-bottom-right-radius:4px}.bubble-body.dots{display:flex;align-items:center;gap:4px;padding:13px 15px;min-width:50px}.bubble-body.dots span{width:6px;height:6px;border-radius:50%;background:var(--ink-soft);animation:bop 1.2s infinite;display:block}.bubble-body.dots span:nth-child(2){animation-delay:.2s}.bubble-body.dots span:nth-child(3){animation-delay:.4s}@keyframes bop{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-5px);opacity:1}}.footer{display:flex;align-items:center;gap:8px;padding:11px 14px;border-top:1px solid var(--line);flex-shrink:0}.inp{flex:1;border:1.5px solid var(--line);border-radius:10px;padding:9px 13px;font-size:14px;font-family:inherit;color:var(--ink);outline:none;transition:border-color .15s;background:#fff}.inp:focus{border-color:var(--green)}.inp::placeholder{color:#a8b3c4}.inp:disabled{background:#fafaf8}.send{width:38px;height:38px;background:var(--green);border:none;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background .15s,transform .1s}.send:hover:not(:disabled){background:#186349;transform:scale(1.05)}.send:disabled{background:#b8d0c7;cursor:not-allowed}.chat-link{color:var(--green);font-weight:600;text-decoration:underline;text-underline-offset:2px}.bubble.user .bubble-body .chat-link{color:#b8f0d8}.done-bar{display:flex;align-items:center;justify-content:center;gap:7px;padding:13px 16px;border-top:1px solid var(--green-tint);font-size:13px;font-weight:600;color:var(--green);background:var(--green-tint);flex-shrink:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f4f6f9;color:#2d2d2d;min-height:100vh}.page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px 60px}.card{background:#fff;border-radius:12px;box-shadow:0 2px 16px #0000001a;padding:40px;width:100%;max-width:540px}.logo-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.logo-icon{font-size:28px}h1{font-size:22px;font-weight:700;color:#1a1a2e}.subtitle{color:#666;font-size:15px;margin-bottom:28px;line-height:1.5}.field{margin-bottom:20px}.field label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:6px}.hint{font-weight:400;color:#999;font-size:13px}.field input,.field select,.field textarea{width:100%;padding:10px 14px;border:1.5px solid #dde1e9;border-radius:8px;font-size:15px;color:#2d2d2d;background:#fafbfc;transition:border-color .15s;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#3a7bd5;background:#fff}.field textarea{resize:vertical}.error-msg{background:#fff0f0;border:1px solid #ffb3b3;color:#c0392b;border-radius:8px;padding:10px 14px;font-size:14px;margin-bottom:16px}.btn-primary{width:100%;padding:13px;background:#3a7bd5;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:4px}.btn-primary:hover:not(:disabled){background:#2d67be}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{width:100%;padding:11px;background:transparent;color:#3a7bd5;border:1.5px solid #3a7bd5;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s;margin-top:20px}.btn-secondary:hover{background:#f0f5ff}.result-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600;background:#e8f0fe;color:#3a7bd5}.badge-geo{background:#e8f8ee;color:#27ae60}.price-range{display:flex;gap:0;border:1.5px solid #e0e6f0;border-radius:10px;overflow:hidden;margin-bottom:24px}.price-col{flex:1;padding:16px 12px;text-align:center;border-right:1.5px solid #e0e6f0}.price-col:last-child{border-right:none}.price-col.mid{background:#f0f5ff}.price-label{font-size:12px;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.price-value{font-size:22px;font-weight:700;color:#1a1a2e}.price-value.typical{color:#3a7bd5;font-size:26px}.unit{font-size:13px;font-weight:400;color:#888;margin-left:2px}.ai-box{background:#f8f9fb;border-left:4px solid #3a7bd5;border-radius:0 8px 8px 0;padding:16px 18px;margin-bottom:16px}.ai-label{font-size:12px;font-weight:700;color:#3a7bd5;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.ai-box p{font-size:15px;line-height:1.65;color:#333}.data-note{font-size:12px;color:#aaa;text-align:center;margin-top:4px}
