:root{--bg-top:#f5f5f7;--bg-bottom:#eef0f4;--surface:rgba(255,255,255,0.72);--surface-solid:#ffffff;--surface-hover:rgba(255,255,255,0.92);--surface-alt:#f5f5f7;--text:#1d1d1f;--text-secondary:#515154;--text-muted:#86868b;--text-faint:#a1a1a6;--accent:#0071e3;--accent-hover:#0077ed;--accent-pressed:#006edb;--accent-bg:rgba(0,113,227,0.08);--green:#34c759;--green-bg:rgba(52,199,89,0.12);--orange:#ff9f0a;--orange-bg:rgba(255,159,10,0.12);--red:#ff3b30;--red-bg:rgba(255,59,48,0.1);--purple:#af52de;--border:rgba(0,0,0,0.08);--border-strong:rgba(0,0,0,0.14);--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow:0 4px 16px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-lg:0 12px 36px rgba(0,0,0,0.08),0 2px 6px rgba(0,0,0,0.04);--shadow-xl:0 24px 60px rgba(0,0,0,0.12),0 4px 12px rgba(0,0,0,0.06);--radius-xl:22px;--radius-lg:18px;--radius:14px;--radius-sm:10px;--radius-xs:8px;--ease:cubic-bezier(0.22,1,0.36,1);--transition:0.35s var(--ease);--transition-fast:0.18s var(--ease)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;background:radial-gradient(1200px 800px at 20% -10%,#e8f1ff 0,transparent 60%),radial-gradient(900px 700px at 100% 10%,#fff2f7 0,transparent 55%),linear-gradient(180deg,var(--bg-top) 0,var(--bg-bottom) 100%);background-attachment:fixed;color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}.app-layout{min-height:100vh;align-items:stretch}.app-layout,.app-main{height:100vh;display:flex}.app-main{flex:1 1;min-width:0;position:relative;overflow:hidden}.app-shell{flex:1 1;min-width:0;min-height:100vh;flex-direction:column;padding:48px 24px 80px}.app-shell,.app-topbar{display:flex;align-items:center}.app-topbar{width:100%;max-width:900px;justify-content:space-between;margin-bottom:40px}.brand{gap:10px;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.brand,.brand-logo{display:flex;align-items:center}.brand-logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#0071e3,#af52de);box-shadow:0 4px 14px rgba(0,113,227,.35);justify-content:center;color:white;font-size:.9rem;font-weight:700}.topbar-hint{font-size:.78rem;color:var(--text-muted);font-weight:500}.stepper{width:100%;max-width:900px;justify-content:center;gap:4px;margin-bottom:40px}.stepper,.stepper-item{display:flex;align-items:center}.stepper-item{gap:10px;padding:8px 14px;border-radius:999px;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:default;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.stepper-item.clickable{cursor:pointer}.stepper-item.clickable:hover{color:var(--text);background:rgba(0,0,0,.03)}.stepper-item.active{color:var(--text);background:var(--surface-solid);box-shadow:var(--shadow)}.stepper-item.done{color:var(--accent)}.stepper-dot{width:22px;height:22px;border-radius:50%;background:var(--surface-alt);color:var(--text-muted);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.stepper-item.active .stepper-dot{box-shadow:0 0 0 4px var(--accent-bg)}.stepper-item.active .stepper-dot,.stepper-item.done .stepper-dot{background:var(--accent);color:white}.stepper-separator{width:24px;height:1.5px;background:var(--border);border-radius:999px}.page{width:100%;max-width:900px;animation:fadeInUp .5s var(--ease) both}.page-narrow{max-width:680px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-title{font-size:2.5rem;font-weight:700;letter-spacing:-.035em;color:var(--text);text-align:center;line-height:1.1;margin-bottom:8px}.page-subtitle{font-size:1.05rem;color:var(--text-secondary);text-align:center;font-weight:400;line-height:1.5;margin-bottom:32px}.surface{background:var(--surface);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--shadow-lg)}.surface,.surface-solid{border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px}.surface-solid{background:var(--surface-solid);box-shadow:var(--shadow)}.offer-editor{display:flex;flex-direction:column;gap:16px}.offer-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);letter-spacing:0}.offer-textarea{width:100%;min-height:200px;padding:20px 22px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;font-family:inherit;font-weight:400;line-height:1.6;outline:none;resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.offer-textarea::placeholder{color:var(--text-faint)}.offer-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.offer-examples{display:flex;flex-wrap:wrap;gap:8px}.offer-example-chip{padding:8px 14px;border-radius:999px;background:var(--surface-solid);border:1px solid var(--border);color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.offer-example-chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.zone-picker{display:flex;flex-direction:column;gap:18px}.zone-search{display:flex;gap:10px}.zone-search input{flex:1 1;padding:14px 18px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.95rem;font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.zone-search input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.zone-search button{padding:14px 22px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.zone-search button:hover{background:var(--surface-alt);border-color:var(--border-strong)}.zone-map-wrapper{position:relative;width:100%;height:400px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow)}.zone-map{width:100%;height:100%}.leaflet-container{font-family:inherit;background:#eaeef3}.zone-overlay{position:absolute;top:16px;left:16px;right:16px;z-index:500;display:flex;gap:10px;pointer-events:none}.zone-overlay-pill{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:500;color:var(--text);box-shadow:var(--shadow-sm);pointer-events:auto;display:flex;align-items:center;gap:6px}.zone-overlay-pill strong{color:var(--accent);font-weight:700}.zone-controls{display:flex;flex-direction:column;gap:14px;padding:18px 22px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius)}.zone-slider-row{display:flex;align-items:center;gap:14px}.zone-slider-label{min-width:80px;font-size:.85rem;font-weight:600;color:var(--text)}.zone-slider{flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--fill,50%),var(--border-strong) var(--fill,50%),var(--border-strong) 100%);outline:none;cursor:pointer}.zone-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#ffffff;border:1px solid var(--border-strong);box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:-webkit-grab;cursor:grab;-webkit-transition:transform var(--transition-fast);transition:transform var(--transition-fast)}.zone-slider::-webkit-slider-thumb:active{cursor:-webkit-grabbing;cursor:grabbing;transform:scale(1.08)}.zone-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#ffffff;border:1px solid var(--border-strong);box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:grab}.zone-slider-value{min-width:60px;text-align:right;font-size:.9rem;font-weight:700;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.zone-row-inline{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:14px;gap:14px}.zone-field{display:flex;flex-direction:column;gap:6px}.zone-field label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.zone-field select{padding:10px 34px 10px 14px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-family:inherit;font-weight:500;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2386868b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color var(--transition-fast)}.zone-field select:focus{border-color:var(--accent)}.zone-field input[type=text]{padding:10px 14px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-family:inherit;font-weight:500;outline:none;transition:border-color var(--transition-fast)}.zone-field input[type=text]:focus{border-color:var(--accent)}.zone-field input[type=text]::placeholder{color:var(--text-secondary);font-weight:400}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.actions,.btn{align-items:center}.btn{padding:13px 28px;border-radius:999px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);display:inline-flex;gap:8px;letter-spacing:-.01em}.btn-primary{background:var(--accent);color:white;box-shadow:0 4px 14px rgba(0,113,227,.28)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,113,227,.32)}.btn-primary:active:not(:disabled){transform:translateY(0);background:var(--accent-pressed)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:rgba(0,0,0,.04);color:var(--text)}.btn-secondary{background:var(--surface-solid);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--surface-alt);border-color:var(--border-strong)}.loading-dots{display:inline-flex;gap:4px;align-items:center}.loading-dots span{width:6px;height:6px;border-radius:50%;background:currentColor;animation:bounce 1.4s infinite both}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.discover-progress{display:flex;flex-direction:column;align-items:center;gap:20px;padding:60px 30px}.spinner{width:48px;height:48px;border:3px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.discover-progress-label{font-size:1rem;font-weight:500;color:var(--text-secondary)}.discover-progress-steps{display:flex;flex-direction:column;gap:8px;width:100%;max-width:360px}.progress-step{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-solid);border:1px solid var(--border);font-size:.88rem;color:var(--text-secondary)}.progress-step.done{color:var(--text)}.progress-check{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;background:var(--surface-alt);color:var(--text-muted);flex-shrink:0}.progress-step.done .progress-check{background:var(--green);color:white}.progress-step.running .progress-check{background:var(--accent);color:white;animation:pulse-dot 1.4s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 rgba(0,113,227,.4)}50%{box-shadow:0 0 0 6px rgba(0,113,227,0)}}.prospects-summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px}.prospects-summary-main{font-size:.95rem;font-weight:600;color:var(--text)}.prospects-summary-zone{color:var(--accent);font-weight:700}.prospects-summary-stats{display:flex;gap:18px}.prospects-stat{font-size:.8rem;color:var(--text-muted);font-weight:500}.prospects-stat strong{color:var(--text);font-weight:700;margin-right:4px}.prospects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.prospect-tile{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;cursor:pointer;transition:all var(--transition-fast);display:flex;flex-direction:column;gap:10px;text-align:left;font-family:inherit}.prospect-tile:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.prospect-tile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.prospect-tile-name{font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.015em;line-height:1.25}.prospect-tile-pill{font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.prospect-tile-pill.has-site{background:var(--green-bg);color:var(--green)}.prospect-tile-pill.no-site{background:var(--red-bg);color:var(--red)}.prospect-tile-rating{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:600;color:var(--orange)}.prospect-tile-desc{font-size:.82rem;color:var(--text-secondary);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prospect-tile-meta{font-size:.78rem;color:var(--text-muted);display:flex;flex-direction:column;gap:3px}.prospect-tile-socials{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.prospect-tile-social-dot{width:26px;height:26px;border-radius:50%;background:var(--surface-alt);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}.prospect-tile-cta{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);color:var(--accent);font-size:.82rem;font-weight:600;display:flex;align-items:center;justify-content:space-between}.analysis-layout{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.analysis-header{display:flex;align-items:center;justify-content:space-between;padding:22px 26px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg)}.analysis-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.analysis-title h2{font-size:1.4rem;font-weight:700;letter-spacing:-.02em;color:var(--text)}.badge{padding:4px 12px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em}.badge-city,.badge-deep,.badge-skip,.badge-standard{background:var(--surface-alt);color:var(--text-secondary);border:1px solid var(--border)}.badge-deep{color:var(--text);font-weight:700}.badge-skip{color:var(--text-muted)}.metrics-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;padding:20px 24px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg)}.metric-cell{text-align:center;padding:4px}.metric-cell-value{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1}.metric-cell-value.accent{color:var(--text)}.metric-cell-label{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-top:6px}.analysis-section{padding:22px 26px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg)}.analysis-section-title{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;display:flex;align-items:center;gap:8px}.analysis-section-title .pill-count{font-size:.68rem;padding:2px 8px;border-radius:999px;background:var(--surface-alt);color:var(--text-muted);font-weight:600}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{padding:5px 12px;border-radius:999px;font-size:.78rem;font-weight:500}.tag.strength,.tag.weakness{background:var(--surface-alt);color:var(--text-secondary);border:1px solid var(--border)}.tag.strength:before{content:"+"}.tag.strength:before,.tag.weakness:before{color:var(--text-muted);font-weight:700;margin-right:4px}.tag.weakness:before{content:"−"}.angles{display:flex;flex-direction:column;gap:10px}.angle{padding:14px 16px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius)}.angle-row{display:flex;align-items:center;gap:10px;font-size:.85rem}.angle-weakness{color:var(--text-secondary);font-weight:500;flex:1 1}.angle-arrow{color:var(--text-muted)}.angle-fit{color:var(--text);font-weight:600;flex:1 1}.angle-hook{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-secondary);font-style:italic}.recommended-approach{margin-top:12px;padding:10px 14px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500}.score-bars{display:flex;flex-direction:column;gap:10px}.score-bar-row{display:grid;grid-template-columns:140px 1fr 40px;align-items:center;grid-gap:12px;gap:12px;font-size:.82rem;color:var(--text-secondary)}.score-bar-track{height:6px;background:var(--surface-alt);border-radius:999px;overflow:hidden}.score-bar-fill{height:100%;border-radius:999px;transition:width .6s var(--ease)}.score-bar-fill.high,.score-bar-fill.low,.score-bar-fill.mid{background:var(--text)}.score-bar-fill.mid{background:var(--text-secondary)}.score-bar-fill.low{background:var(--text-muted)}.score-bar-value{font-weight:700;text-align:right;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.channels-bar{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.channel-pill{padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary);font-size:.82rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:5px}.channel-pill:hover{border-color:var(--text-secondary);color:var(--text)}.channel-pill.active{background:var(--text);border-color:var(--text);color:white}.channel-pill .star{color:var(--text-muted);font-size:.65rem}.channel-pill.active .star{color:rgba(255,255,255,.7)}.pitch-block{padding:18px 20px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius);font-size:.92rem;line-height:1.65;color:var(--text);white-space:pre-wrap}.copy-btn{margin-top:14px;width:100%;padding:12px;background:var(--accent);color:white;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.copy-btn:hover{background:var(--accent-hover);box-shadow:0 4px 14px rgba(0,113,227,.25)}.copy-btn:active{transform:scale(.98)}.timeline-box{padding:22px 26px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg)}.timeline{display:flex;flex-direction:column;gap:2px}.timeline-step{display:flex;gap:14px;padding:4px 0}.timeline-left{flex-direction:column;width:28px;flex-shrink:0}.timeline-dot,.timeline-left{display:flex;align-items:center}.timeline-dot{width:26px;height:26px;border-radius:50%;background:var(--surface-alt);border:2px solid var(--border);color:var(--text-muted);font-size:.65rem;font-weight:700;justify-content:center;transition:all var(--transition-fast)}.timeline-step.done .timeline-dot{background:var(--text);border-color:var(--text);color:white}.timeline-step.current .timeline-dot{background:var(--accent);border-color:var(--accent);color:white}.timeline-line{width:2px;flex:1 1;min-height:14px;background:var(--border);border-radius:999px}.timeline-step.done .timeline-line{background:var(--text)}.timeline-content{flex:1 1;min-width:0;padding-bottom:14px}.timeline-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.timeline-title{font-size:.92rem;font-weight:600;color:var(--text)}.timeline-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4;margin-top:3px}.mini-badge{font-size:.62rem;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.mini-badge.ok,.mini-badge.opt,.mini-badge.retry,.mini-badge.running{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}.mini-badge.ok{color:var(--text-secondary)}.mini-badge.running{color:var(--accent);border-color:var(--accent)}.pulse{width:8px;height:8px;border-radius:50%;background:white;animation:pulse-anim 1.2s ease-in-out infinite}@keyframes pulse-anim{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.auth-input{width:100%;padding:13px 16px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.95rem;font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);margin-top:4px}.auth-input::placeholder{color:var(--text-faint)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.auth-input:disabled{opacity:.6;background:var(--surface-alt)}.auth-divider{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--text-muted);font-size:.75rem;font-weight:500}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-link{background:none;border:none;color:var(--accent);font-size:inherit;font-weight:600;font-family:inherit;cursor:pointer;padding:0}.auth-link:hover{text-decoration:underline}.error-banner{padding:14px 18px;background:var(--red-bg);border:1px solid rgba(255,59,48,.2);border-radius:var(--radius);color:var(--red);font-size:.88rem;font-weight:500;margin-bottom:16px}.skip-message{padding:30px 20px;text-align:center;color:var(--text-muted);font-weight:600;font-size:.95rem}@media (max-width:720px){.app-shell{padding:24px 16px 60px}.page-title{font-size:1.9rem}.page-subtitle{font-size:.95rem}.surface,.surface-solid{padding:22px;border-radius:var(--radius-lg)}.stepper{flex-wrap:wrap}.stepper-separator{display:none}.stepper-item{padding:6px 10px;font-size:.75rem}.zone-row-inline{grid-template-columns:1fr}.metrics-row{grid-template-columns:repeat(2,1fr)}.zone-map-wrapper{height:320px}.prospects-summary{flex-direction:column;align-items:flex-start;gap:10px}.score-bar-row{grid-template-columns:1fr;gap:4px}}.quota-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.78rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.quota-chip .quota-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.quota-chip.quota-low{background:var(--red-bg);border-color:transparent;color:var(--red)}.quota-chip.quota-low .quota-dot{background:var(--red)}.batch-bar{padding:14px 18px;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.batch-bar,.batch-progress{display:flex;align-items:center;gap:14px}.batch-progress{flex:1 1}.batch-progress-bar{flex:1 1;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.batch-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.batch-progress-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.prospect-tile-pill.score-high{background:var(--green-bg);color:var(--green)}.prospect-tile-pill.score-mid{background:var(--orange-bg,#fff3dc);color:var(--orange)}.prospect-tile-pill.score-low{background:var(--red-bg);color:var(--red)}.prospect-tile-pill.running{background:var(--border);color:var(--text-secondary);display:inline-flex;align-items:center;gap:5px}.mini-spinner{width:10px;height:10px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.history-sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;width:272px;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease}.history-sidebar.collapsed{width:52px}.history-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 14px;gap:8px}.history-sidebar.collapsed .history-sidebar-head{padding:18px 8px;justify-content:center}.history-sidebar-title{font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.history-sidebar-toggle{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center}.history-sidebar-toggle:hover{background:var(--border);color:var(--text)}.history-new-btn{margin:0 12px 12px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:.88rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .1s,border-color .1s}.history-new-btn:hover{background:var(--border);border-color:transparent}.history-new-btn span:first-child{font-size:1rem;font-weight:400;color:var(--text-secondary)}.history-sidebar-list{flex:1 1;overflow-y:auto;padding:0 8px 20px}.history-sidebar-empty{padding:28px 16px;text-align:center;color:var(--text-secondary);font-size:.82rem;line-height:1.5}.history-group+.history-group{margin-top:12px}.history-group-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:8px 10px 6px}.history-sidebar-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:var(--radius-sm,8px);border:none;background:transparent;cursor:pointer;text-align:left;transition:background .1s}.history-sidebar-item:hover{background:var(--border)}.history-sidebar-item.active{background:var(--primary-soft,rgba(0,113,227,.12))}.history-sidebar-item-main{flex:1 1;min-width:0}.history-sidebar-item-name{font-size:.88rem;font-weight:600;color:var(--text)}.history-sidebar-item-meta,.history-sidebar-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-sidebar-item-meta{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.history-sidebar-item-score{font-weight:700;font-size:.78rem;padding:3px 8px;border-radius:999px;flex-shrink:0}.history-sidebar-item-score.score-high{background:var(--green-bg);color:var(--green)}.history-sidebar-item-score.score-mid{background:var(--orange-bg,#fff3dc);color:var(--orange)}.history-sidebar-item-score.score-low{background:var(--red-bg);color:var(--red)}@media (max-width:760px){.history-sidebar{width:52px}.history-sidebar:not(.collapsed){position:fixed;left:0;top:0;width:260px;z-index:900;box-shadow:0 10px 40px rgba(0,0,0,.15)}}body.app-scroll-lock,html.app-scroll-lock{overflow:hidden;height:100%}.app-layout.app-locked{position:relative;max-height:100vh;overflow:hidden}.app-layout.app-locked .app-main,.app-layout.app-locked .app-shell,.app-layout.app-locked .history-sidebar,.app-layout.app-locked .search-sidebar{filter:blur(4px) saturate(1.02);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden}.preview-stepper{width:100%;max-width:900px;display:flex;align-items:center;justify-content:center;gap:4px;margin:0 auto 28px}.preview-stats{width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;padding:22px;margin-bottom:22px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.preview-stat{text-align:center;padding:6px 4px}.preview-stat-value{font-size:1.6rem;font-weight:700;letter-spacing:-.025em;color:var(--text);line-height:1}.preview-stat-unit{font-size:.95rem;font-weight:600;color:var(--text-muted);margin-left:2px}.preview-stat-label{font-size:.7rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-top:8px}@media (max-width:720px){.preview-stats{grid-template-columns:repeat(2,1fr)}}.login-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:rgba(255,255,255,.18);backdrop-filter:saturate(140%) blur(2px);-webkit-backdrop-filter:saturate(140%) blur(2px);animation:fadeIn .35s var(--ease) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal-card{width:100%;max-width:460px;background:#ffffff;border:1px solid var(--border);border-radius:26px;box-shadow:var(--shadow-xl);padding:36px 36px 28px;animation:modalIn .45s var(--ease) both}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1rem;font-weight:600;color:var(--text);margin-bottom:22px}.login-modal-emoji{font-size:2.6rem;text-align:center;margin-bottom:12px}.login-modal-title{font-size:1.85rem;font-weight:700;letter-spacing:-.03em;color:var(--text);text-align:center;line-height:1.15;margin-bottom:10px}.login-modal-title-accent{font-weight:600;color:var(--text-secondary);font-size:.94em}.login-modal-subtitle{font-size:.92rem;color:var(--text-secondary);text-align:center;line-height:1.5;margin-bottom:22px}.login-modal-form{display:flex;flex-direction:column;gap:10px}.login-modal-input{width:100%;padding:14px 16px;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:12px;color:var(--text);font-size:.95rem;font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-modal-input::placeholder{color:var(--text-faint)}.login-modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.login-modal-input:disabled{opacity:.6;background:var(--surface-alt)}.login-modal-cta{width:100%;padding:14px 18px;border:none;border-radius:12px;background:var(--accent);color:white;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 14px rgba(0,113,227,.28);letter-spacing:-.01em}.login-modal-cta:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,113,227,.32)}.login-modal-cta:active:not(:disabled){transform:translateY(0);background:var(--accent-pressed)}.login-modal-cta:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.login-modal-cta-secondary{background:var(--surface-alt);color:var(--text);box-shadow:none;margin-top:4px}.login-modal-cta-secondary:hover:not(:disabled){background:#ebebef;box-shadow:none;transform:none}.login-modal-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--text-muted);font-size:.78rem;font-weight:500}.login-modal-divider:after,.login-modal-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.login-modal-google{width:100%;padding:13px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:12px;color:var(--text);font-size:.92rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.login-modal-google:hover:not(:disabled){background:var(--surface-alt);border-color:var(--text-muted)}.login-modal-google:disabled{opacity:.55;cursor:not-allowed}.login-modal-footer{text-align:center;margin-top:18px;font-size:.86rem;color:var(--text-secondary)}.login-modal-legal{text-align:center;margin-top:14px;font-size:.72rem;color:var(--text-muted);line-height:1.5}@media (max-width:520px){.login-modal-card{padding:26px 22px 22px;border-radius:20px}.login-modal-title{font-size:1.5rem}}.map-stage{position:relative;flex:1 1;height:100vh;overflow:hidden;background:#eaeef3}.map-stage-canvas{position:absolute;inset:0;width:100%;height:100%}.map-preview-bg{background:radial-gradient(800px 600px at 30% 30%,#e8f1ff 0,transparent 60%),radial-gradient(600px 500px at 70% 70%,#fff2f7 0,transparent 55%),linear-gradient(180deg,#eef2f6,#e6ebf1)}.map-search-bar{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:500;display:flex;align-items:center;gap:8px;background:var(--surface-solid);border:1px solid var(--border);border-radius:999px;padding:6px 6px 6px 16px;box-shadow:var(--shadow-lg);width:min(560px,calc(100% - 360px));min-width:320px}.map-search-icon{font-size:.95rem;color:var(--text-muted)}.map-search-bar input{flex:1 1;border:none;outline:none;background:transparent;font-size:.92rem;font-family:inherit;color:var(--text);padding:8px 4px}.map-search-bar input::placeholder{color:var(--text-faint)}.map-search-bar button{padding:9px 18px;border:none;border-radius:999px;background:var(--accent);color:white;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.map-search-bar button:hover:not(:disabled){background:var(--accent-hover)}.map-search-bar button:disabled{opacity:.5;cursor:not-allowed}.map-pills{position:absolute;top:18px;right:18px;z-index:500;display:flex;gap:8px}.map-pill{background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:.78rem;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:6px;white-space:nowrap}.map-pill strong{color:var(--text);font-weight:700}.map-panel{position:absolute;left:16px;bottom:16px;z-index:500;width:360px;max-width:calc(100% - 100px);max-height:calc(100vh - 100px);display:flex;flex-direction:column;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:16px 16px 14px;overflow:hidden}.map-panel.collapsed{padding-bottom:14px}.map-panel-toggle{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast);z-index:1}.map-panel-toggle:hover{background:var(--surface-alt);color:var(--text)}.map-panel-title{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.01em;margin-bottom:10px;padding-right:36px}.map-panel-sub{font-size:.78rem;color:var(--text-muted);font-weight:500;margin-top:-6px;margin-bottom:8px}.map-panel-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;padding-right:36px}.map-field-label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}.map-offer-textarea{width:100%;padding:10px 12px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.85rem;font-family:inherit;line-height:1.5;outline:none;resize:vertical;min-height:60px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.map-offer-textarea::placeholder{color:var(--text-faint)}.map-offer-textarea:focus{border-color:var(--accent);background:var(--surface-solid);box-shadow:0 0 0 3px var(--accent-bg)}.map-hint{font-size:.72rem;color:var(--text-muted);margin-top:4px;margin-bottom:6px}.map-row-3{grid-template-columns:1fr 1fr 1fr;grid-gap:8px}.map-row-2,.map-row-3{display:grid;gap:8px;margin:12px 0}.map-row-2{grid-template-columns:1fr 1fr;grid-gap:8px}.map-row-2 .zone-field label,.map-row-3 .zone-field label{font-size:.66rem}.map-row-3 .zone-field select{padding:8px 28px 8px 10px;font-size:.82rem}.map-panel .zone-slider-row{margin:8px 0 12px;padding:10px 12px;background:var(--surface-alt);border-radius:var(--radius-sm)}.map-panel .zone-slider-label{min-width:50px;font-size:.78rem}.map-panel .zone-slider-value{min-width:50px;font-size:.82rem}.map-progress{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--accent-bg);border-radius:var(--radius-sm);margin-bottom:10px}.spinner-sm{width:18px;height:18px;border-width:2px}.map-progress-steps{display:flex;flex-wrap:wrap;gap:5px;flex:1 1;font-size:.76rem}.progress-pill{padding:3px 9px;border-radius:999px;background:var(--surface-solid);color:var(--text-secondary);font-size:.72rem;font-weight:500}.progress-pill.done{color:var(--green)}.progress-pill.running{color:var(--accent)}.map-launch-btn{width:100%;justify-content:center;margin-top:4px}.map-result-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;margin:0 -8px;padding:0 8px;max-height:50vh}.map-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left;font-family:inherit;width:100%;transition:all var(--transition-fast)}.map-result-row:hover{background:var(--surface-alt);border-color:var(--border)}.map-result-main{flex:1 1;min-width:0}.map-result-name{font-size:.88rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-result-meta{display:flex;gap:10px;font-size:.74rem;color:var(--text-muted);margin-top:2px}.map-result-score{font-weight:700;font-size:.78rem;padding:3px 9px;border-radius:999px;flex-shrink:0}.map-result-score.score-high{background:var(--green-bg);color:var(--green)}.map-result-score.score-mid{background:var(--orange-bg,#fff3dc);color:var(--orange)}.map-result-score.score-low{background:var(--red-bg);color:var(--red)}.btn-xs{padding:6px 12px;font-size:.78rem}.analysis-sheet-backdrop{position:fixed;inset:0;z-index:950;background:rgba(20,20,22,.28);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;justify-content:flex-end;animation:fadeIn .25s var(--ease) both}.analysis-sheet{position:relative;width:min(720px,100%);height:100vh;background:#ffffff;border-left:1px solid var(--border);box-shadow:-20px 0 60px rgba(0,0,0,.18);overflow-y:auto;animation:slideInRight .35s var(--ease) both}@keyframes slideInRight{0%{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}.analysis-sheet-close{position:-webkit-sticky;position:sticky;top:12px;margin-left:auto;margin-right:14px;display:block;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface-solid);color:var(--text-secondary);font-size:1.3rem;line-height:1;cursor:pointer;z-index:2;transition:all var(--transition-fast)}.analysis-sheet-close:hover{background:var(--surface-alt);color:var(--text)}.analysis-sheet-body{padding:0 28px 32px;margin-top:-32px}.analysis-sheet-body .page,.analysis-sheet-body .page-narrow{max-width:none}@media (max-width:720px){.map-search-bar{width:calc(100% - 88px);min-width:0}.map-pills{display:none}.map-panel{left:8px;right:8px;bottom:8px;width:auto;max-width:none}.profile-chip{padding:4px 4px 4px 8px;font-size:.72rem}}.search-sidebar{width:340px;height:100vh;flex-shrink:0;display:flex;flex-direction:column;background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);overflow:hidden;transition:width .2s ease}.search-sidebar.collapsed{width:52px;align-items:center;padding-top:16px}.search-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.search-tabs{display:flex;padding:10px 12px 0;gap:4px;flex-shrink:0}.search-tab{flex:1 1;padding:9px 10px;border:none;background:transparent;border-radius:var(--radius-sm);font-size:.84rem;font-weight:600;font-family:inherit;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.search-tab:hover{background:rgba(0,0,0,.04);color:var(--text)}.search-tab.active{background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-sm)}.search-sidebar-body{flex:1 1;min-height:0;overflow-y:auto;padding:12px 0 16px}.search-form,.search-sidebar-body{display:flex;flex-direction:column}.search-form{padding:4px 14px 8px;gap:8px}.search-form .map-field-label{margin-top:6px;margin-bottom:4px}.search-form .map-field-label:first-child{margin-top:0}.search-locate{display:flex;gap:6px}.search-locate input{flex:1 1;padding:9px 12px;background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.86rem;font-family:inherit;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-locate input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-locate input::placeholder{color:var(--text-faint)}.search-locate button{padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.search-locate button:hover:not(:disabled){background:var(--surface-alt);border-color:var(--border-strong)}.search-locate button:disabled{opacity:.5;cursor:not-allowed}.search-locate-hint{font-size:.74rem;color:var(--text-muted);margin-top:-2px;margin-bottom:4px}.search-form .map-row-3{margin:6px 0 4px;gap:6px}.search-form .zone-slider-row{margin:4px 0 8px;padding:8px 10px}.search-form .map-launch-btn{margin-top:4px}.search-results-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:0 14px 12px;border-bottom:1px solid var(--border);margin-bottom:8px}.search-results-actions{display:flex;gap:4px;flex-shrink:0}.search-result-list{display:flex;flex-direction:column;gap:2px;padding:0 8px;flex:1 1;min-height:0}.search-sidebar .history-new-btn{margin:0 14px 12px}.search-sidebar .history-sidebar-list{padding:0 8px 16px;flex:1 1;min-height:0}.search-history-block{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;overflow:hidden;transition:all var(--transition-fast)}.search-history-block:hover{border-color:var(--border-strong)}.search-history-block.open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.search-history-head{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit}.search-history-head:hover{background:rgba(0,0,0,.025)}.search-history-main{flex:1 1;min-width:0}.search-history-title{font-size:.88rem;font-weight:700;color:var(--text);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-history-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.search-history-meta .dot-sep{color:var(--text-faint)}.search-history-caret{font-size:1.2rem;color:var(--text-muted);transition:transform .2s var(--ease);flex-shrink:0}.search-history-caret.open{transform:rotate(90deg)}.search-history-children{border-top:1px solid var(--border);background:var(--surface-alt);padding:6px 6px 8px;display:flex;flex-direction:column;gap:2px}.search-history-replay{margin:4px 4px 6px;padding:7px 10px;border:1px dashed var(--border-strong);background:transparent;color:var(--accent);font-size:.78rem;font-weight:600;font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left}.search-history-replay:hover{background:var(--accent-bg);border-color:var(--accent);border-style:solid}.search-history-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;text-align:left;font-family:inherit;transition:background var(--transition-fast)}.search-history-row:hover{background:rgba(0,0,0,.04)}.search-history-row.active{background:var(--accent-bg)}.search-history-row-main{flex:1 1;min-width:0}.search-history-row-name{font-size:.82rem;font-weight:600;color:var(--text)}.search-history-row-meta,.search-history-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-history-row-meta{font-size:.7rem;color:var(--text-muted);margin-top:1px}.search-history-row-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:var(--surface-solid);color:var(--text-muted);border:1px solid var(--border);flex-shrink:0}.map-pin-icon{background:transparent!important;border:none!important}.map-pin-wrap{position:relative;width:34px;height:42px;transform-origin:50% 100%;animation:pin-drop .7s cubic-bezier(.34,1.56,.64,1) both}@keyframes pin-drop{0%{transform:translateY(-280px) scale(.6);opacity:0}55%{transform:translateY(0) scale(1.05);opacity:1}72%{transform:translateY(-10px) scale(.96)}85%{transform:translateY(0) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}.map-pin{position:absolute;inset:0;align-items:flex-start}.map-pin,.map-pin-bubble{display:flex;justify-content:center}.map-pin-bubble{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,#0071e3,#5856d6);box-shadow:0 0 0 2px #fff,0 6px 14px rgba(0,113,227,.4);align-items:center;position:relative}.map-pin-num{transform:rotate(45deg);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:-.01em;line-height:1}.map-pin-shadow{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:16px;height:4px;border-radius:50%;background:rgba(0,0,0,.22);filter:blur(2.5px);animation:pin-shadow .7s cubic-bezier(.34,1.56,.64,1) both}@keyframes pin-shadow{0%{transform:translateX(-50%) scale(.2);opacity:0}55%{transform:translateX(-50%) scale(1.1);opacity:.55}to{transform:translateX(-50%) scale(1);opacity:.45}}.map-pin-icon:hover .map-pin-bubble{box-shadow:0 0 0 2px #fff,0 8px 18px rgba(0,113,227,.55);transition:box-shadow .18s var(--ease)}.map-search-wrap{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:600;flex-direction:column;gap:6px;width:min(440px,calc(100% - 32px));pointer-events:none}.map-search,.map-search-wrap{display:flex;align-items:center}.map-search{pointer-events:auto;gap:8px;padding:8px 8px 8px 14px;background:#fff;border:1px solid var(--border);border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.08);width:100%}.map-search-icon{font-size:14px;color:var(--text-secondary)}.map-search input{flex:1 1;border:0;outline:none;background:transparent;font:inherit;font-size:14px;color:var(--text);min-width:0}.map-search input::placeholder{color:var(--text-secondary)}.map-search-go{width:28px;height:28px;border-radius:50%;border:0;background:var(--accent,#0071e3);color:#fff;font-size:14px;cursor:pointer;display:grid;place-items:center}.map-search-go:hover{background:#0060c4}.map-search-go:disabled{opacity:.6;cursor:not-allowed}.map-search-error{pointer-events:auto;font-size:12px;color:var(--red);background:#fff;padding:4px 12px;border-radius:999px;border:1px solid var(--red)}.map-pin-icon-history{background:transparent!important;border:0!important}.map-pin-history{width:16px;height:16px;border-radius:50%;background:rgba(0,113,227,.78);border:2.5px solid #fff;box-shadow:0 0 0 1px rgba(0,113,227,.25),0 2px 6px rgba(0,0,0,.22);transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease);cursor:pointer}.map-pin-icon-history:hover .map-pin-history{background:#0071e3;transform:scale(1.4);box-shadow:0 0 0 2px rgba(0,113,227,.35),0 4px 12px rgba(0,113,227,.4)}.map-pin-history-analyzed{background:rgba(48,209,88,.85);box-shadow:0 0 0 1px rgba(48,209,88,.3),0 2px 6px rgba(0,0,0,.22)}.map-pin-icon-history:hover .map-pin-history-analyzed{background:#30d158;box-shadow:0 0 0 2px rgba(48,209,88,.4),0 4px 12px rgba(48,209,88,.45)}.saleyia-popup .leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.16);padding:0;background:#ffffff;border:1px solid var(--border)}.saleyia-popup .leaflet-popup-content{margin:14px 16px 12px;font-family:inherit;width:auto!important;min-width:220px}.saleyia-popup .leaflet-popup-tip-container{width:28px;height:14px}.saleyia-popup .leaflet-popup-tip{background:#ffffff;box-shadow:0 1px 2px rgba(0,0,0,.06),0 12px 32px rgba(0,0,0,.16);border:1px solid var(--border)}.map-popup{gap:8px}.map-popup,.map-popup-head{display:flex;flex-direction:column}.map-popup-head{gap:3px}.map-popup-name{font-size:.95rem;font-weight:700;color:var(--text);letter-spacing:-.015em;line-height:1.25}.map-popup-rating{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--orange)}.map-popup-rating em{font-style:normal;color:var(--text-muted);font-weight:500}.map-popup-addr{font-size:.78rem;color:var(--text-muted);line-height:1.45}.map-popup-summary{font-size:.78rem;color:var(--text);font-weight:500;letter-spacing:-.005em;line-height:1.4}.map-popup-btn{margin-top:4px;padding:9px 14px;border:none;border-radius:10px;background:var(--accent);color:white;font-size:.86rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);letter-spacing:-.005em}.map-popup-btn:hover{background:var(--accent-hover);box-shadow:0 4px 12px rgba(0,113,227,.3)}.map-popup-btn:active{transform:translateY(1px)}.profile-chip-wrap{position:relative;pointer-events:auto}.profile-chip{display:inline-flex;align-items:center;gap:10px;padding:5px 5px 5px 12px;border-radius:999px;border:1px solid var(--border);background:rgba(255,255,255,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:500;color:var(--text-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.profile-chip:hover{background:#fff;border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow)}.profile-chip-quota{display:inline-flex;align-items:center;gap:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.profile-chip-dot{width:7px;height:7px;border-radius:50%}.profile-chip-dot.ok{background:var(--green)}.profile-chip-dot.mid{background:var(--orange)}.profile-chip-dot.low{background:var(--red)}.profile-chip-quota-sub{color:var(--text-muted);font-weight:500}.profile-chip-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#0071e3,#af52de);color:white;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em;box-shadow:0 2px 6px rgba(0,113,227,.25)}.profile-chip-avatar.large{width:40px;height:40px;font-size:.95rem}.profile-chip-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:600;min-width:240px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 16px 40px rgba(0,0,0,.16);padding:12px;animation:chip-menu-in .18s var(--ease) both}@keyframes chip-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-chip-menu-head{display:flex;align-items:center;gap:10px;padding:4px 4px 12px;border-bottom:1px solid var(--border)}.profile-chip-menu-email{font-size:.86rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.profile-chip-menu-row{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;font-size:.82rem;color:var(--text-secondary);border-bottom:1px solid var(--border)}.profile-chip-menu-row strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.profile-chip-menu-item{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:10px;margin-top:8px;padding:10px 12px;border:none;background:transparent;border-radius:10px;font-family:inherit;font-size:.86rem;font-weight:600;color:var(--text);cursor:pointer;transition:background var(--transition-fast);text-align:left;text-decoration:none}.profile-chip-menu-item:hover{background:var(--surface-alt)}.profile-chip-menu-item.danger{color:var(--red)}.profile-chip-menu-item.danger:hover{background:var(--red-bg)}.modal-overlay{position:fixed;inset:0;background:rgba(15,18,22,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;z-index:9999;animation:overlay-in .18s var(--ease) both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.buy-credits-modal{position:relative;width:min(420px,calc(100vw - 32px));background:#fff;border-radius:18px;border:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,.06),0 24px 60px rgba(0,0,0,.22);padding:28px 24px 24px;animation:modal-in .22s var(--ease) both}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:0;background:transparent;font-size:22px;line-height:1;color:var(--text-secondary);cursor:pointer}.modal-close:hover{background:var(--bg-hover);color:var(--text)}.buy-credits-head{text-align:center;margin-bottom:20px}.buy-credits-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#ffd84d,#ff9a1f);display:grid;place-items:center;margin:0 auto 12px;font-size:28px;box-shadow:0 6px 18px rgba(255,154,31,.35)}.buy-credits-head h2{font-size:20px;margin:0 0 6px;font-weight:600}.buy-credits-sub{margin:0;font-size:13px;color:var(--text-secondary)}.buy-credits-pack{border:1px solid var(--border);border-radius:14px;padding:16px;background:var(--bg-soft,#fafbfc)}.buy-credits-pack-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.buy-credits-pack-name{font-weight:600}.buy-credits-pack-desc{font-size:12px;color:var(--text-secondary)}.buy-credits-pack-price{font-size:24px;font-weight:600}.buy-credits-pack-list{list-style:none;padding:0;margin:0 0 14px;font-size:13px;color:var(--text-secondary);line-height:1.7}.buy-credits-btn{width:100%}.buy-credits-error{margin-top:10px;color:var(--red);font-size:12px;text-align:center}.credits-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--border);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s var(--ease)}.credits-chip:hover{background:var(--bg-hover)}.credits-chip-icon{font-size:14px}.credits-chip-low{color:var(--red);border-color:var(--red)}.bo-shell{position:relative;min-height:100vh;background:#f5f6f8;scrollbar-gutter:stable}.bo-sidebar{position:fixed;left:0;top:0;width:240px;height:100vh;background:#ffffff;border-right:1px solid var(--border);padding:22px 14px 18px;display:flex;flex-direction:column;gap:6px;z-index:10}.bo-brand{display:flex;align-items:center;gap:8px;padding:6px 10px 18px;font-weight:600;font-size:17px;color:var(--text);text-decoration:none}.bo-brand .brand-logo{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#0071e3,#4595f5);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px}.bo-nav{display:flex;flex-direction:column;gap:2px;margin-top:6px}.bo-nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:14px;color:var(--text-secondary);text-decoration:none;transition:background .15s var(--ease),color .15s var(--ease)}.bo-nav-item:hover{background:#f1f3f6;color:var(--text)}.bo-nav-item.active{background:#eaf3ff;color:#0071e3;font-weight:500}.bo-nav-icon{font-size:15px}.bo-back{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:13px;padding:9px 12px;border-radius:10px;text-decoration:none}.bo-back:hover{background:#f1f3f6;color:var(--text)}.bo-main{padding:40px 48px 64px;min-height:100vh}@media (max-width:1239px){.bo-main{padding-left:264px;padding-right:24px}}.bo-page{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.bo-page-head{margin-bottom:8px}.bo-page-head h1{font-size:26px;font-weight:600;margin:0 0 4px}.bo-page-sub{color:var(--text-secondary);font-size:13px;margin:0}.bo-page-loading{display:grid;place-items:center;padding:60px 0}.bo-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;gap:14px}.bo-card h2{font-size:14px;font-weight:600;margin:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.bo-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0}.bo-row-label{color:var(--text-secondary);font-size:13px}.bo-row-value{font-weight:500;font-size:14px;text-align:right}.bo-mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--text-secondary)}.bo-truncate{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bo-actions{display:flex;gap:8px;flex-wrap:wrap}.bo-hint{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.6}.bo-error{background:var(--red-bg);color:var(--red);padding:10px 14px;border-radius:10px;font-size:13px}.bo-refresh{align-self:center;margin-top:4px}.bo-card-balance{flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#fffbf2,#fff7e6);border-color:rgba(255,154,31,.25)}.bo-balance-num{font-size:44px;font-weight:600;display:flex;align-items:center;gap:8px;line-height:1}.bo-balance-icon{font-size:32px}.bo-balance-label{color:var(--text-secondary);font-size:12px;margin-top:4px}.bo-pricing{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.bo-pricing li{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f8f9fb;border-radius:10px}.bo-pricing li>div{flex:1 1}.bo-pricing-icon{font-size:18px}.bo-pricing-label{font-size:13px;font-weight:500}.bo-pricing-desc{font-size:11px;color:var(--text-secondary)}.bo-card-saved{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fb;border-radius:10px}.bo-card-saved-icon{font-size:22px;width:40px;height:40px;display:grid;place-items:center;background:#fff;border-radius:8px;border:1px solid var(--border)}.bo-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px}.bo-toggle input{width:16px;height:16px}.bo-toggle-track{display:none}.bo-auto-config{margin-top:8px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.bo-threshold{display:flex;align-items:center;gap:8px}.bo-threshold input{width:80px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;text-align:right}.bo-card-table{padding:4px}.bo-table{width:100%;border-collapse:collapse;font-size:13px}.bo-table th{text-align:left;color:var(--text-secondary);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.bo-table td,.bo-table th{padding:12px 14px;border-bottom:1px solid var(--border)}.bo-table tr:last-child td{border-bottom:0}.bo-status{font-size:11px;font-weight:500;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.bo-status-paid{background:#e7f7ec;color:#1a7f37}.bo-load-more{display:block;margin:16px auto}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-bg)}@media (max-width:720px){.bo-shell{grid-template-columns:1fr}.bo-sidebar{flex-direction:row;height:auto;position:static;border-right:0;border-bottom:1px solid var(--border);overflow-x:auto;padding:12px}.bo-nav{flex-direction:row;flex:1 1}.bo-back{margin:0}.bo-main{padding:24px 16px}}