:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--surface: #111113;--surface2: #1a1a1f;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .18);--text: #fafafa;--text-muted: rgba(255, 255, 255, .55);--accent: #6366f1;--accent-hover: #818cf8;--green: #10b981;--pink: #ec4899}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:1.5rem 1.5rem 6rem}.header{border-bottom:1px solid var(--border);background:#0a0a0ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.header-inner{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.header-title h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.subtitle{color:var(--text-muted);font-size:.85rem}.nav-tabs{display:flex;gap:.25rem;background:var(--surface);border-radius:.5rem;padding:.2rem;border:1px solid var(--border)}.nav-tab{background:none;border:none;color:var(--text-muted);font-size:.85rem;padding:.45rem 1rem;border-radius:.375rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.4rem}.nav-tab:hover{color:var(--text)}.nav-tab.active{background:var(--accent);color:#fff}.badge{background:#fff3;font-size:.7rem;padding:.1rem .4rem;border-radius:999px;font-weight:600}.filters{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.search-input{width:100%;padding:.65rem 1rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.region-pills{display:flex;flex-wrap:wrap;gap:.35rem}.pill{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);padding:.3rem .75rem;border-radius:999px;font-size:.78rem;cursor:pointer;transition:all .15s}.pill:hover{border-color:var(--border-hover);color:var(--text)}.pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.spot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.spot-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:.6rem;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;text-align:left;color:var(--text);font-size:inherit;position:relative}.spot-card:hover{border-color:var(--border-hover);background:var(--surface2);transform:translateY(-1px)}.spot-card.selected{border-color:var(--accent);background:#6366f114}.spot-emoji{font-size:1.75rem;flex-shrink:0}.spot-info{display:flex;flex-direction:column;min-width:0}.spot-info strong{font-size:.95rem}.spot-country{color:var(--text-muted);font-size:.78rem}.check{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:var(--accent);color:#fff;width:1.3rem;height:1.3rem;border-radius:999px;display:grid;place-items:center;font-size:.7rem;font-weight:700}.empty-msg{grid-column:1 / -1;text-align:center;color:var(--text-muted);padding:3rem 0}.floating-bar{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--surface2);border:1px solid var(--border-hover);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:.75rem;padding:.75rem 1.25rem;display:flex;align-items:center;gap:1rem;z-index:40;font-size:.88rem;box-shadow:0 8px 32px #0006;max-width:90vw}.btn-primary{background:var(--accent);color:#fff;border:none;padding:.55rem 1.25rem;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:.5rem 1.1rem;border-radius:.5rem;font-size:.85rem;cursor:pointer;transition:all .15s}.btn-secondary:hover{border-color:var(--border-hover)}.btn-remove{background:none;border:1px solid var(--border);color:var(--text-muted);width:1.8rem;height:1.8rem;border-radius:.375rem;cursor:pointer;font-size:.85rem;display:grid;place-items:center;transition:all .15s}.btn-remove:hover{border-color:#ef4444;color:#ef4444;background:#ef444414}.planner-section{display:flex;flex-direction:column;gap:1.25rem}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:.6rem;padding:1rem;text-align:center}.summary-card.highlight{border-color:var(--accent);background:#6366f10f}.summary-value{display:block;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.summary-label{color:var(--text-muted);font-size:.78rem;margin-top:.15rem;display:block}.plan-card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.plan-controls{padding:1.25rem;border-bottom:1px solid var(--border)}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.plan-header h2{font-size:1.15rem;font-weight:600}.muted{color:var(--text-muted);font-weight:400}.control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.control{display:flex;flex-direction:column;gap:.3rem}.control span{font-size:.78rem;color:var(--text-muted)}.control input{padding:.5rem .75rem;border-radius:.4rem;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem;outline:none;transition:border-color .15s;width:100%}.control input:focus{border-color:var(--accent)}.tier-selector{display:flex;gap:.4rem}.tier-btn{flex:1;padding:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:.4rem;font-size:.8rem;cursor:pointer;transition:all .15s}.tier-btn:hover{border-color:var(--border-hover);color:var(--text)}.tier-btn.active{border-color:var(--accent);background:#6366f11a;color:var(--accent-hover);font-weight:600}.breakdown{padding:1.25rem}.breakdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.breakdown-header h3{font-size:.95rem;font-weight:600}.tier-badge{font-size:.72rem;padding:.2rem .6rem;border-radius:999px;background:#6366f11f;color:var(--accent-hover);font-weight:600}.bar-chart{display:flex;height:.5rem;border-radius:999px;overflow:hidden;margin-bottom:1rem;background:var(--surface2)}.bar-segment{min-width:2px;transition:width .3s}.breakdown-items{display:flex;flex-direction:column;gap:.4rem}.breakdown-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.breakdown-dot{width:.5rem;height:.5rem;border-radius:999px;flex-shrink:0}.breakdown-label{flex:1;color:var(--text-muted)}.breakdown-value{font-variant-numeric:tabular-nums;font-weight:500}.total-row .breakdown-label{color:var(--text);font-weight:600}.total-row .breakdown-value{color:var(--accent-hover);font-weight:700}.tip{margin-top:1rem;font-size:.82rem;color:var(--text-muted);background:var(--surface2);padding:.65rem .85rem;border-radius:.4rem;border-left:3px solid var(--accent)}.grand-total-card{background:linear-gradient(135deg,#6366f114,#ec48990f);border:1px solid var(--accent);border-radius:.75rem;padding:2rem;text-align:center}.grand-total-card h2{font-size:1rem;font-weight:500;margin-bottom:.5rem}.grand-total-value{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--accent-hover),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grand-meta{color:var(--text-muted);font-size:.85rem;margin:.5rem 0 1.25rem}.empty-state{text-align:center;padding:4rem 1rem}.empty-icon{font-size:3rem;margin-bottom:.75rem}.empty-state h2{font-size:1.25rem;margin-bottom:.4rem}.empty-state p{color:var(--text-muted);margin-bottom:1.25rem}@media(max-width:640px){.header-inner{flex-direction:column;align-items:flex-start}.spot-grid{grid-template-columns:1fr}.tier-selector{flex-direction:column}.floating-bar{flex-direction:column;gap:.5rem;text-align:center}}
