@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;900&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gold: #d6a84f;--gold2: #f5c842;--gold3: #b8860b;--sand: #f7f2e8;--sand2: #ede4d1;--dark: #0f0d09;--dark2: #1a1610;--dark3: #2a1f12;--text: #f7f2e8;--text-muted: rgba(247, 242, 232, .6);--text-dim: rgba(247, 242, 232, .4);--border: rgba(214, 168, 79, .25);--critical: rgba(255, 80, 80, .85);--safe-top: env(safe-area-inset-top);--safe-bottom: env(safe-area-inset-bottom)}html,body,#root{min-height:100vh;background:var(--dark);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(214,168,79,.12) 0%,transparent 60%),var(--dark);background-attachment:fixed}a{color:var(--gold2);text-decoration:none}button{font-family:inherit;cursor:pointer}.app{max-width:560px;margin:0 auto;min-height:100vh;padding-top:calc(var(--safe-top) + 16px);padding-bottom:calc(var(--safe-bottom) + 88px);position:relative}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px 16px}.app-header h1{font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--text)}.app-header h1 span{color:var(--gold2)}.offline-badge{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:#ff505026;color:#ff8080;border:1px solid rgba(255,80,80,.3);padding:4px 10px;border-radius:10px}.online-badge{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:#50c8781f;color:#6dd99c;border:1px solid rgba(80,200,120,.25);padding:4px 10px;border-radius:10px}.page{padding:0 20px}.page-title{font-size:26px;font-weight:900;letter-spacing:-.5px;color:var(--text);margin-bottom:6px}.page-title span{color:var(--gold2)}.page-subtitle{font-size:13px;color:var(--text-muted);margin-bottom:22px}.section-title{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin:24px 0 10px}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.dash-card{background:linear-gradient(135deg,#d6a84f14,#d6a84f05);border:1px solid var(--border);border-radius:18px;padding:16px 14px;text-align:left;color:var(--text);text-decoration:none;display:flex;flex-direction:column;gap:8px;min-height:110px;transition:transform .15s,border-color .2s,background .2s}.dash-card:hover{border-color:#d6a84f80}.dash-card .icon{font-size:26px}.dash-card .label{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.dash-card .sub{font-size:11px;color:var(--text-muted);line-height:1.3}.dash-card.critical{background:linear-gradient(135deg,#d6a84f2e,#b8860b0d);border-color:#d6a84f73}.dash-card.full{grid-column:1 / -1;min-height:90px}.card{background:var(--dark2);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:12px}.card-critical{background:linear-gradient(135deg,#d6a84f1a,#d6a84f05);border-color:#d6a84f66}.card h3{font-size:16px;font-weight:800;margin-bottom:8px;color:var(--text)}.card p{color:var(--text-muted);font-size:14px;line-height:1.5}.kv{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(214,168,79,.1);gap:12px}.kv:last-child{border-bottom:none}.kv-label{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim)}.kv-value{font-size:15px;font-weight:600;color:var(--text);text-align:right;word-break:break-word;font-feature-settings:"tnum"}.kv-value.code{font-family:SF Mono,Menlo,monospace;font-size:17px;color:var(--gold2);letter-spacing:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:12px;font-size:14px;font-weight:700;border:none;text-decoration:none;transition:transform .1s,opacity .2s}.btn:active{opacity:.85}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--dark);box-shadow:0 4px 16px #d6a84f59}.btn-ghost{background:#d6a84f14;border:1px solid rgba(214,168,79,.25);color:var(--gold2)}.btn-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.btn-row .btn{flex:1;min-width:130px}.badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:3px 8px;border-radius:6px}.badge-critical{background:#ff505026;color:#ff9090;border:1px solid rgba(255,80,80,.3)}.badge-high{background:#d6a84f26;color:var(--gold2);border:1px solid rgba(214,168,79,.3)}.badge-medium{background:#f7f2e814;color:var(--text-muted);border:1px solid rgba(247,242,232,.15)}.checklist-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(214,168,79,.1);cursor:pointer;-webkit-user-select:none;user-select:none}.checklist-item:last-child{border-bottom:none}.checklist-checkbox{width:22px;height:22px;border:2px solid var(--gold);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.checklist-checkbox.checked{background:var(--gold);color:var(--dark)}.checklist-label{font-size:14px;flex:1}.checklist-item.done .checklist-label{color:var(--text-dim);text-decoration:line-through}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:#0f0d09f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:8px 0 calc(8px + var(--safe-bottom));display:flex;justify-content:space-around;z-index:50}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 12px;text-decoration:none;color:var(--text-dim);font-size:10px;font-weight:600;transition:color .15s;flex:1;max-width:80px}.nav-item .nav-icon{font-size:22px;line-height:1}.nav-item.active{color:var(--gold2)}.toast{position:fixed;left:50%;bottom:calc(100px + var(--safe-bottom));transform:translate(-50%);background:var(--gold);color:var(--dark);font-size:13px;font-weight:800;padding:10px 18px;border-radius:24px;box-shadow:0 6px 24px #d6a84f73;z-index:100;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.map-container{width:100%;height:calc(100vh - 200px);min-height:400px;border-radius:16px;overflow:hidden;border:1px solid var(--border);margin-bottom:12px}.map-filters{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filter-chip{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;border:1px solid var(--border);background:transparent;color:var(--text-muted)}.filter-chip.active{background:var(--gold);color:var(--dark);border-color:var(--gold)}.flight{background:var(--dark2);border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:12px}.flight-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}.flight-num{font-size:16px;font-weight:800;color:var(--gold2);letter-spacing:.5px}.flight-date{font-size:12px;color:var(--text-muted)}.flight-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.flight-end{text-align:center}.flight-end .iata{font-size:22px;font-weight:900;color:var(--text);letter-spacing:.5px}.flight-end .city{font-size:11px;color:var(--text-muted);margin-top:2px}.flight-end .term{font-size:10px;color:var(--gold);margin-top:4px;font-weight:700}.flight-end .time{font-size:17px;font-weight:700;color:var(--text);margin-top:8px;font-feature-settings:"tnum"}.flight-arrow{color:var(--gold);font-size:18px;position:relative}.flight-arrow .dur{position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:10px;color:var(--text-muted);white-space:nowrap}.poi-card{background:var(--dark2);border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin-bottom:10px;position:relative}.poi-card .order{position:absolute;top:-8px;left:14px;background:var(--gold);color:var(--dark);font-size:11px;font-weight:900;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.poi-card h4{font-size:16px;font-weight:800;color:var(--text);margin-bottom:4px;margin-top:4px}.poi-card .desc{font-size:13px;color:var(--text-muted);line-height:1.45;margin-bottom:8px}.poi-card .tip{font-size:12px;color:var(--gold2);line-height:1.4;padding:8px 10px;background:#d6a84f0f;border-radius:8px;border-left:2px solid var(--gold)}.route-steps{list-style:none;counter-reset:step;padding:0;margin:12px 0 14px}.route-steps li{counter-increment:step;position:relative;padding:10px 0 10px 36px;font-size:14px;color:var(--text);line-height:1.4;border-bottom:1px dashed rgba(214,168,79,.12)}.route-steps li:last-child{border-bottom:none}.route-steps li:before{content:counter(step);position:absolute;left:0;top:9px;width:24px;height:24px;background:var(--gold);color:var(--dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.route-alt{margin-top:12px;padding:12px 14px;background:#d6a84f0d;border:1px dashed rgba(214,168,79,.25);border-radius:10px}.route-alt .alt-title{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.tabs{display:flex;gap:6px;margin-bottom:18px;background:var(--dark2);padding:4px;border-radius:14px;border:1px solid var(--border)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;background:transparent;border:none;color:var(--text-muted);font-size:11px;font-weight:700;border-radius:10px;transition:background .2s,color .2s}.tab.active{background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--dark)}.tab-icon{font-size:18px;line-height:1}.input{width:100%;padding:12px 14px;background:#f7f2e80a;border:1px solid var(--border);border-radius:10px;font-size:16px;font-family:inherit;color:var(--text);outline:none;transition:border-color .2s,background .2s}.input::placeholder{color:var(--text-dim)}.input:focus{border-color:var(--gold);background:#d6a84f0d}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.photo-thumb{position:relative;aspect-ratio:1;background:var(--dark2);border:1px solid var(--border);border-radius:8px;overflow:hidden;padding:0;cursor:pointer}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-tag{position:absolute;bottom:4px;left:4px;right:4px;background:#000000b3;color:var(--gold2);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}.photo-overlay-inner{background:var(--dark2);border:1px solid var(--border);border-radius:16px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto}.photo-overlay-inner img{width:100%;display:block;max-height:60vh;object-fit:contain;background:#000;border-radius:16px 16px 0 0}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:250;display:flex;align-items:center;justify-content:center;padding:16px}.welcome-modal{background:linear-gradient(160deg,var(--dark2) 0%,var(--dark) 100%);border:1px solid rgba(214,168,79,.35);border-radius:22px;padding:28px 24px 24px;max-width:420px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 12px 50px #d6a84f2e}.welcome-emoji{font-size:42px;text-align:center;margin-bottom:8px}.welcome-title{font-size:22px;font-weight:900;text-align:center;margin-bottom:22px;color:var(--text)}.welcome-title span{color:var(--gold2)}.welcome-tips{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:14px}.welcome-tips li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:#d6a84f0d;border:1px solid rgba(214,168,79,.18);border-radius:12px}.welcome-tips .tip-icon{font-size:22px;flex-shrink:0;line-height:1.2}.welcome-tips strong{display:block;font-size:14px;font-weight:700;color:var(--gold2);margin-bottom:2px;line-height:1.3}.welcome-tips span{font-size:12.5px;color:var(--text-muted);line-height:1.45}.welcome-cta{width:100%;padding:14px;font-size:15px}.header-help{width:24px;height:24px;border-radius:50%;background:#d6a84f1f;border:1px solid rgba(214,168,79,.3);color:var(--gold2);font-size:12px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-fab{position:fixed;right:16px;bottom:calc(96px + var(--safe-bottom));width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--dark);border:none;font-size:26px;box-shadow:0 6px 22px #d6a84f73;z-index:60;cursor:pointer;transition:opacity .15s}.chat-fab:active{opacity:.85}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:200;display:flex;align-items:flex-end;justify-content:center;padding:0}.chat-modal{background:var(--dark);border:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;max-width:560px;height:90vh;display:flex;flex-direction:column;padding-bottom:var(--safe-bottom)}.chat-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.chat-close{background:#f7f2e80f;border:none;color:var(--text-muted);width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer}.chat-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.chat-msg.user .chat-bubble{background:linear-gradient(135deg,var(--gold),var(--gold3));color:var(--dark);border-bottom-right-radius:4px;font-weight:500}.chat-msg.assistant .chat-bubble{background:var(--dark2);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.chat-suggestion{text-align:left;padding:10px 14px;background:var(--dark2);border:1px solid var(--border);border-radius:12px;color:var(--gold2);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.chat-dots{display:inline-block;font-size:18px;letter-spacing:2px;animation:dots 1.2s ease-in-out infinite}@keyframes dots{0%,to{opacity:.4}50%{opacity:1}}.chat-input-row{display:flex;gap:6px;padding:12px 16px;border-top:1px solid var(--border);background:var(--dark);align-items:center}.chat-input-row .input{flex:1}.chat-input-row .btn{width:44px;height:44px;padding:0;font-size:18px;flex-shrink:0}.chat-mic{background:#f7f2e80f;border:1px solid var(--border);color:var(--gold2)}.chat-mic.recording{background:#ff50502e;border-color:#ff505080;color:#ff8080;animation:rec-pulse 1.2s ease-in-out infinite}@keyframes rec-pulse{0%,to{box-shadow:0 0 #ff505080}50%{box-shadow:0 0 0 8px #ff505000}}.chat-speak{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#d6a84f26;border:none;color:var(--gold2);font-size:12px;margin-left:8px;vertical-align:middle;cursor:pointer}.chat-speak:active{opacity:.7}.lang-switch{display:flex;gap:2px;background:#f7f2e80a;border:1px solid var(--border);border-radius:8px;padding:2px}.lang-chip{background:transparent;border:none;color:var(--text-muted);padding:4px 8px;font-size:11px;font-weight:700;border-radius:6px;cursor:pointer}.lang-chip.active{background:var(--gold);color:var(--dark)}@media (max-width: 390px){.app{padding-bottom:calc(var(--safe-bottom) + 80px)}.page{padding:0 16px}.page-title{font-size:22px}.dash-grid{gap:10px}.dash-card{padding:14px 12px;min-height:100px}.dash-card .icon{font-size:22px}.dash-card .label{font-size:13px}.card{padding:14px}.nav-item{padding:6px 8px;font-size:9px}.flight-end .iata{font-size:19px}.flight-end .time{font-size:15px}}
