@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*{box-sizing:border-box}body{margin:0;padding:0;background-color:#f7f9fc;color:#0f172a;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}.app-container{max-width:1280px;margin:0 auto;padding:12px 20px;display:flex;flex-direction:column;gap:16px}.top-nav{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:8px}.brand-section{display:flex;align-items:center;gap:10px}.brand-logo{background:linear-gradient(135deg,#2563eb,#10b981);color:#fff;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;box-shadow:0 4px 8px #2563eb40}.brand-name{font-size:1.1rem;font-weight:800;color:#0f172a;letter-spacing:-.02em}.brand-tagline{font-size:.75rem;color:#64748b;font-weight:500}.hero{margin-top:2px;margin-bottom:2px}.hero h1{font-size:1.4rem;font-weight:800;color:#0f172a;letter-spacing:-.03em;margin:0 0 1px}.hero p{font-size:.8rem;color:#475569;margin:0}.dashboard-grid{display:grid;grid-template-columns:360px 1fr 240px;gap:16px;align-items:stretch}@media (max-width: 1024px){.dashboard-grid{grid-template-columns:1fr}}.white-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 10px 25px #0f172a0d;border:1px solid #e2e8f0}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.form-group label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#475569}.form-input{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:.75rem;color:#0f172a;font-family:inherit;transition:all .2s ease;width:100%}.form-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 2px #2563eb0d}.budget-chips-container{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.budget-chip{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 10px;font-size:.7rem;font-weight:600;color:#475569;cursor:pointer;transition:all .2s ease}.budget-chip:hover{background:#f1f5f9;border-color:#cbd5e1}.budget-chip.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border-color:#2563eb;box-shadow:0 2px 4px #2563eb26}.toggle-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:6px 10px;font-size:.7rem;font-weight:600;color:#475569;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 1px 2px #00000005}.toggle-btn:hover{background:#f8fafc;border-color:#94a3b8}.toggle-btn.active{background:linear-gradient(135deg,#2563eb,#10b981);color:#fff;border-color:transparent;box-shadow:0 4px 8px #2563eb26}.btn-submit{background:linear-gradient(135deg,#2563eb,#10b981);color:#fff;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px;width:100%;font-family:inherit;margin-top:4px;box-shadow:0 3px 6px #2563eb26}.btn-submit:hover{opacity:.95;transform:translateY(-1px)}.summary-box{background:#f8fafc;border-radius:10px;padding:10px;border:1px dashed #e2e8f0;font-size:.7rem;color:#475569;line-height:1.3}.map-visual{background-color:#f1f5f9;background-image:radial-gradient(circle at 10% 20%,rgba(37,99,235,.03) 0%,transparent 40%),radial-gradient(rgba(0,0,0,.03) 1px,transparent 0);background-size:24px 24px,20px 20px;border-radius:12px;overflow:hidden;height:100%;min-height:310px;position:relative;border:1px solid #e2e8f0}.map-legend{position:absolute;bottom:8px;left:8px;background:#fffffff2;border:1px solid #cbd5e1;border-radius:6px;padding:4px 8px;font-size:.625rem;display:flex;gap:8px;box-shadow:0 2px 6px #0000000d}.timeline-container-v{position:relative;padding-left:20px;display:flex;flex-direction:column;gap:12px}.timeline-line-v{position:absolute;left:7px;top:6px;bottom:6px;width:2px;background-color:#e2e8f0}.timeline-item-v{position:relative;display:flex;flex-direction:column;gap:2px;font-size:.7rem;color:#475569;transition:opacity .25s ease}.timeline-item-v.waiting{opacity:.45}.timeline-dot-v{position:absolute;left:-19px;top:2px;width:10px;height:10px;border-radius:99px;background-color:#cbd5e1;border:2px solid #ffffff;z-index:2;transition:all .2s ease}.timeline-dot-v.complete{background-color:#10b981}.timeline-dot-v.active{background-color:#2563eb;box-shadow:0 0 0 3px #2563eb33;animation:timeline-pulse-node 1.5s infinite}@keyframes timeline-pulse-node{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.playful-runner{display:inline-block;animation:runner-bounce .6s infinite alternate;font-size:.725rem;margin-left:4px}@keyframes runner-bounce{0%{transform:translateY(0) translate(0)}to{transform:translateY(-2px) translate(1px)}}.concierge-summary-card{background:#eff6ff;border-left:4px solid #2563eb;padding:12px 16px;border-radius:8px;font-size:.825rem;color:#1e3a8a;line-height:1.5;margin-top:4px}.recommendations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 768px){.recommendations-grid{grid-template-columns:1fr}}.rec-card{background:#fff;border-radius:16px;padding:0;overflow:hidden;box-shadow:0 4px 15px #0f172a08;border:1px solid #e2e8f0;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.rec-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0f172a0f;border-color:#cbd5e1}.rec-card.selected{border-color:#2563eb;box-shadow:0 10px 25px #2563eb0d}.photo-area{height:200px;position:relative;background-size:cover;background-position:center}.photo-gradient{position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 100%)}.rec-card-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex-grow:1;justify-content:space-between}.quality-badge{font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:99px;text-transform:uppercase;display:inline-flex;align-items:center;gap:4px;border:1px solid transparent}.quality-badge.best{background:#eff6ff;color:#1e40af;border-color:#dbeafe}.quality-badge.alternative{background:#f0fdf4;color:#065f46;border-color:#dcfce7}.quality-badge.value{background:#fffbeb;color:#b45309;border-color:#fef3c7}.eligibility-badge{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:6px;text-transform:uppercase}.eligibility-badge.eligible{background:#ecfdf5;color:#047857;border:1px solid #d1fae5}.eligibility-badge.alternative{background:#fffbeb;color:#b45309;border:1px solid #fef3c7}.detail-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}@media (max-width: 768px){.detail-columns{grid-template-columns:1fr}}.satisfied-chip{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:#334155;background:#f8fafc;padding:4px 10px;border-radius:6px;border:1px solid #e2e8f0}.satisfied-chip.yes{color:#047857;background:#f0fdf4;border-color:#dcfce7}.satisfied-chip.no{color:#b91c1c;background:#fef2f2;border-color:#fee2e2}.satisfied-chip.unknown{color:#ca8a04;background:#fef9c3;border-color:#fef08a}.info-btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.info-btn{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:.725rem;font-weight:600;color:#334155;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.info-btn:hover{background:#f8fafc;border-color:#94a3b8}
