:root{--bg: #080F20;--surface: #0C1A38;--surface2: #102040;--border: rgba(255,255,255,.09);--blue: #1A6FFF;--blue2: #5FABFF;--text: #FFFFFF;--text2: rgba(255,255,255,.55);--text3: rgba(255,255,255,.3);--green: #1E9E6A;--red: #E84040;--amber: #F5A000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column;max-width:480px;margin:0 auto;position:relative}.page{flex:1;overflow-y:auto;padding:16px 16px 80px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--surface);border-top:1px solid var(--border);display:flex;z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 12px;cursor:pointer;background:none;border:none;color:var(--text3);font-size:10px;transition:color .15s}.nav-item.active{color:var(--blue)}.nav-item svg{width:22px;height:22px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;margin-bottom:10px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.btn{width:100%;padding:14px;border-radius:12px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s;display:flex;align-items:center;justify-content:center;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-outline{background:transparent;border:1px solid var(--blue);color:var(--blue2)}.btn-danger{background:var(--red);color:#fff}.input-group{margin-bottom:14px}.input-group label{display:block;font-size:12px;color:var(--text2);margin-bottom:5px}.input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text);font-size:15px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--blue)}.input::placeholder{color:var(--text3)}.badge{padding:3px 10px;border-radius:8px;font-size:12px;font-weight:700}.toggle-wrap{display:flex;align-items:center;gap:10px}.toggle{position:relative;width:48px;height:26px;cursor:pointer}.toggle input{opacity:0;width:0;height:0}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--text3);border-radius:13px;transition:background .2s}.toggle input:checked~.toggle-track{background:var(--green)}.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked~.toggle-thumb{transform:translate(22px)}.stat-row{display:flex;gap:10px;margin-bottom:16px}.stat-chip{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.stat-chip .stat-val{font-size:18px;font-weight:700;color:var(--text);margin:4px 0 2px}.stat-chip .stat-label{font-size:11px;color:var(--text3)}.map-container{border-radius:16px;overflow:hidden;margin-bottom:10px}.map-container .leaflet-container{height:220px;width:100%;background:var(--surface)}.map-footer{background:var(--surface);padding:8px 14px;display:flex;justify-content:space-between;align-items:center}.status-banner{padding:18px;border-radius:14px;display:flex;align-items:center;gap:14px;margin-bottom:14px}.addr-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;align-items:center;gap:10px;margin-bottom:10px}.addr-info{flex:1}.addr-info .addr-lbl{font-size:11px;color:var(--text2)}.addr-info .addr-val{font-size:14px;font-weight:500;color:var(--text);margin-top:2px}.chat-wrap{display:flex;flex-direction:column;height:calc(100vh - 80px);padding:0}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.4}.chat-bubble.mine{align-self:flex-end;background:var(--blue);color:#fff;border-bottom-right-radius:4px}.chat-bubble.theirs{align-self:flex-start;background:var(--surface2);color:var(--text);border-bottom-left-radius:4px}.chat-bubble .chat-time{font-size:10px;opacity:.6;margin-top:4px;text-align:right}.chat-input-bar{display:flex;gap:8px;padding:12px 16px 20px;background:var(--surface);border-top:1px solid var(--border)}.chat-input{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:10px 14px;color:var(--text);font-size:14px;outline:none}.chat-send{background:var(--blue);border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-title{font-size:14px;font-weight:700;color:var(--blue2);margin:18px 0 8px}.empty-state{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;color:var(--text2);font-size:14px}.info-row{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;align-items:center;gap:10px;margin-bottom:8px}.info-row .info-lbl{font-size:11px;color:var(--text2)}.info-row .info-val{font-size:14px;font-weight:500;color:var(--text)}.earnings-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:10px;text-align:center}.earnings-card .e-label{font-size:12px;color:var(--text2);margin-bottom:4px}.earnings-card .e-amount{font-size:28px;font-weight:800;color:var(--text)}.earnings-card .e-sub{font-size:12px;color:var(--text3);margin-top:4px}.tx-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.tx-row:last-child{border-bottom:none}.error-box{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;padding:12px;color:var(--red);font-size:13px;margin-bottom:12px}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.online-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.pill-tabs{display:flex;gap:8px;margin-bottom:14px}.pill-tab{padding:6px 16px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:13px;cursor:pointer;transition:all .15s}.pill-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}
