﻿@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
:root{--bg-primary:#1e1e2e;--bg-secondary:#181825;--bg-surface:#11111b;--bg-overlay:#313244;--text-primary:#cdd6f4;--text-secondary:#a6adc8;--text-muted:#6c7086;--accent:#cba6f7;--accent-glow:rgba(203,166,247,0.15);--border:rgba(205,214,244,0.08);--border-accent:rgba(203,166,247,0.25);--green:#a6e3a1;--blue:#89b4fa;--peach:#fab387;--red:#f38ba8;--yellow:#f9e2af;}
*{box-sizing:border-box;margin:0;padding:0;}html,body{height:100%;overflow:hidden;}
body{background:var(--bg-primary);color:var(--text-primary);font-family:'Inter',system-ui,sans-serif;}
.app{display:flex;height:100vh;flex-direction:column;}
.topbar{display:flex;align-items:center;gap:14px;padding:10px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;z-index:1000;}
.topbar-logo{width:32px;height:32px;flex-shrink:0;cursor:pointer;}.topbar-logo svg{width:100%;height:100%;}
.topbar-title{font-weight:600;font-size:15px;flex:1;}.topbar-title span{color:var(--accent);}
.topbar-right{display:flex;align-items:center;gap:10px;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.topbar-help{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;transition:all .2s;}.topbar-help:hover{border-color:var(--accent);color:var(--accent);}
.topbar-donate{width:28px;height:28px;border-radius:6px;border:1px solid rgba(243,139,168,0.3);background:rgba(243,139,168,0.08);color:#f38ba8;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s;animation:heartPulse 2s ease-in-out infinite;}.topbar-donate:hover{border-color:#f38ba8;background:rgba(243,139,168,0.15);transform:scale(1.1);}@keyframes heartPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
.donate-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10000;display:none;align-items:center;justify-content:center;}.donate-overlay.open{display:flex;}
.donate-modal{background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:14px;width:90%;max-width:440px;box-shadow:0 16px 64px rgba(0,0,0,0.6);animation:popupIn .25s ease;overflow:hidden;max-height:85vh;overflow-y:auto;}.donate-modal::-webkit-scrollbar{width:4px;}.donate-modal::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:4px;}
.donate-head{padding:20px 24px 16px;text-align:center;border-bottom:1px solid var(--border);}.donate-head .donate-icon{font-size:36px;margin-bottom:6px;display:block;}.donate-head h2{font-size:17px;font-weight:700;color:var(--text-primary);margin:0;}.donate-head p{font-size:11px;color:var(--text-muted);margin-top:4px;}
.donate-body{padding:16px 24px 20px;}
.donate-section{margin-bottom:16px;}.donate-section:last-child{margin-bottom:0;}
.donate-section-title{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.donate-field{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;font-size:11px;cursor:pointer;transition:all .2s;}.donate-field:hover{border-color:var(--accent);}.donate-field .df-label{color:var(--text-muted);font-weight:600;min-width:70px;}.donate-field .df-value{color:var(--text-primary);font-family:'JetBrains Mono',monospace;font-weight:500;flex:1;user-select:all;}.donate-field .df-copy{padding:3px 8px;border-radius:4px;background:var(--accent-glow);color:var(--accent);font-size:9px;font-weight:700;cursor:pointer;border:none;font-family:'Inter',sans-serif;transition:all .15s;flex-shrink:0;}.donate-field .df-copy:hover{background:var(--accent);color:var(--bg-primary);}
.donate-upi-btn{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--green),#6bcf7f);color:var(--bg-primary);font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .2s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;}.donate-upi-btn:hover{filter:brightness(1.1);transform:translateY(-1px);}.donate-paypal-btn{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,#0070ba,#003087);color:#fff;font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .2s;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;}.donate-paypal-btn:hover{filter:brightness(1.1);transform:translateY(-1px);}
.donate-close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;}.donate-close:hover{color:var(--red);}
.donate-divider{text-align:center;font-size:10px;color:var(--text-muted);margin:12px 0;position:relative;}.donate-divider::before,.donate-divider::after{content:"";position:absolute;top:50%;width:calc(50% - 20px);height:1px;background:var(--border);}.donate-divider::before{left:0;}.donate-divider::after{right:0;}
.donate-methods{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}.donate-method-btn{flex:1;min-width:calc(50% - 3px);padding:8px 6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-overlay);color:var(--text-muted);font-size:10px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap;}.donate-method-btn:hover{border-color:var(--accent);color:var(--text-primary);}.donate-method-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);}
.donate-bank-grid{display:grid;gap:4px;}.donate-bank-row{display:flex;gap:6px;font-size:10px;padding:4px 0;border-bottom:1px solid rgba(69,71,90,0.2);}.donate-bank-row:last-child{border-bottom:none;}.donate-bank-key{color:var(--text-muted);font-weight:600;min-width:90px;flex-shrink:0;}.donate-bank-val{color:var(--text-primary);font-family:'JetBrains Mono',monospace;word-break:break-all;}
.admin-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10000;display:none;align-items:center;justify-content:center;}.admin-overlay.open{display:flex;}
.admin-modal{background:var(--bg-secondary);border:1px solid var(--accent);border-radius:14px;width:90%;max-width:520px;box-shadow:0 16px 64px rgba(0,0,0,0.6);animation:popupIn .25s ease;overflow:hidden;max-height:88vh;display:flex;flex-direction:column;}
.admin-head{padding:16px 20px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0;}.admin-head .admin-icon{font-size:22px;}.admin-head h2{font-size:15px;font-weight:700;color:var(--text-primary);margin:0;flex:1;}.admin-head .admin-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:4px;}.admin-head .admin-close:hover{color:var(--red);}
.admin-body{padding:14px 20px 18px;overflow-y:auto;flex:1;}.admin-body::-webkit-scrollbar{width:4px;}.admin-body::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:4px;}
.admin-section{margin-bottom:16px;}.admin-section:last-child{margin-bottom:0;}
.admin-section-title{font-size:10px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.admin-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}.admin-field:last-child{margin-bottom:0;}
.admin-field label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;}
.admin-field input,.admin-field textarea{width:100%;padding:8px 10px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:'JetBrains Mono',monospace;font-size:11px;outline:none;transition:border-color .2s;}.admin-field input:focus,.admin-field textarea:focus{border-color:var(--accent);}
.admin-field textarea{min-height:80px;resize:vertical;font-size:10px;line-height:1.5;}
.admin-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.admin-btn{padding:8px 16px;border:none;border-radius:8px;font-size:11px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .2s;}.admin-btn:hover{filter:brightness(1.1);transform:translateY(-1px);}
.admin-btn-primary{background:linear-gradient(135deg,var(--accent),#89b4fa);color:var(--bg-primary);}
.admin-btn-success{background:linear-gradient(135deg,var(--green),#a6e3a1);color:var(--bg-primary);}
.admin-btn-danger{background:linear-gradient(135deg,var(--red),#f38ba8);color:var(--bg-primary);}
.admin-btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-muted);}.admin-btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.admin-dropzone{border:2px dashed var(--border);border-radius:10px;padding:20px;text-align:center;color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .2s;margin-top:6px;}.admin-dropzone:hover,.admin-dropzone.dragover{border-color:var(--accent);color:var(--accent);background:rgba(137,180,250,0.05);}
.admin-dropzone input{display:none;}
.admin-status{font-size:10px;color:var(--text-muted);margin-top:6px;padding:6px 10px;background:var(--bg-overlay);border-radius:6px;border:1px solid var(--border);display:none;}.admin-status.show{display:block;}.admin-status.ok{border-color:var(--green);color:var(--green);}.admin-status.err{border-color:var(--red);color:var(--red);}
.admin-divider{height:1px;background:var(--border);margin:14px 0;}
.topbar-admin{width:28px;height:28px;border-radius:6px;border:1px solid rgba(137,180,250,0.3);background:rgba(137,180,250,0.08);color:#89b4fa;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s;}.topbar-admin:hover{border-color:#89b4fa;background:rgba(137,180,250,0.15);transform:scale(1.1);}
.geo-status-corner{position:absolute;bottom:52px;left:12px;z-index:1000;font-family:'JetBrains Mono',monospace;font-size:10px;padding:4px 12px;border-radius:20px;background:rgba(18,18,27,0.92);color:var(--green);border:1px solid rgba(166,227,161,0.25);backdrop-filter:blur(8px);display:flex;align-items:center;gap:6px;box-shadow:0 2px 10px rgba(0,0,0,0.4);pointer-events:none;}.geo-status-corner::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:pulse 2s ease-in-out infinite;}.geo-status-corner.err{background:rgba(18,18,27,0.92);color:var(--red);border-color:rgba(243,139,168,0.25);}.geo-status-corner.err::before{background:var(--red);box-shadow:0 0 6px var(--red);}
.main{display:flex;flex:1;min-height:0;}
.sidebar{width:400px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-secondary);border-right:1px solid var(--border);overflow:hidden;}.sidebar::-webkit-scrollbar{width:3px;}.sidebar::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.sidebar-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-primary);}
.sidebar-tab{flex:1;padding:10px 0;font-size:11px;font-weight:600;text-align:center;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:5px;}.sidebar-tab:hover{color:var(--text-secondary);background:var(--bg-overlay);}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-surface);}
.sidebar-tab svg{width:14px;height:14px;}
.sidebar-tab-badge{width:16px;height:16px;border-radius:50%;background:var(--red);color:#fff;font-size:8px;font-weight:700;display:none;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;line-height:1;}.sidebar-tab-badge.vis{display:flex;}
.sidebar-panels{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;}
.sidebar-panel{display:none;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;}.sidebar-panel.active{display:flex;}.sidebar-panel::-webkit-scrollbar{width:3px;}.sidebar-panel::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.sidebar-panel-footer{margin-top:auto;flex-shrink:0;}
.search-panel{padding:16px;border-bottom:1px solid var(--border);}
.search-group{display:flex;flex-direction:column;gap:10px;}
.search-row{display:flex;align-items:center;gap:8px;}
.search-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;transition:all .3s;}
.search-dot.origin{background:var(--green);box-shadow:0 0 6px rgba(166,227,161,0.4);}
.search-dot.dest{background:var(--red);box-shadow:0 0 6px rgba(243,139,168,0.4);}
.search-dot.coord-active{background:var(--blue)!important;box-shadow:0 0 8px rgba(137,180,250,0.5)!important;}
.search-connector{width:10px;display:flex;justify-content:center;}.search-connector::before{content:"";width:1px;height:14px;background:var(--border);}
.search-wrap{flex:1;position:relative;}
.search-input{width:100%;background:var(--bg-overlay);border:1px solid var(--border);border-radius:6px;padding:10px 32px 10px 12px;color:var(--text-primary);font-size:13px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}
.search-input:focus{border-color:var(--accent);}.search-input::placeholder{color:var(--text-muted);}
.search-input.coord-mode{border-color:rgba(137,180,250,0.4);background:rgba(137,180,250,0.06);}
.search-coord-label{position:absolute;left:0;top:-16px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);display:none;align-items:center;gap:4px;}.search-coord-label.visible{display:flex;}.search-coord-label::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 4px var(--blue);}
.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px;display:none;}.search-clear.vis{display:block;}
.suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:500;background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:8px;max-height:220px;overflow-y:auto;display:none;box-shadow:0 8px 32px rgba(0,0,0,0.5);}.suggestions.open{display:block;}
.sug-item{padding:10px 12px;cursor:pointer;font-size:12.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);transition:background .12s;display:flex;align-items:center;gap:8px;}.sug-item:last-child{border-bottom:none;}.sug-item:hover,.sug-item.active{background:var(--bg-overlay);color:var(--text-primary);}
.sug-item .sug-icon{font-size:13px;opacity:.6;flex-shrink:0;}.sug-noresults{padding:10px 12px;font-size:12px;color:var(--text-muted);font-style:italic;}
.btn-row{display:flex;gap:8px;margin-top:12px;}.btn{flex:1;padding:10px;border:none;border-radius:6px;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;}
.btn-primary{background:var(--accent);color:var(--bg-primary);}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);}
.btn-locate{background:rgba(166,227,161,0.15);color:var(--green);border:1px solid rgba(166,227,161,0.25);}.btn-locate:hover{background:rgba(166,227,161,0.25);}
.btn-secondary{background:var(--bg-overlay);color:var(--text-secondary);border:1px solid var(--border);}.btn-secondary:hover{border-color:var(--border-accent);color:var(--text-primary);}
.filter-bar{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0;}
.filter-chip{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:20px;font-size:11px;font-weight:500;background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;transition:all .2s;}.filter-chip:hover{border-color:var(--border-accent);color:var(--text-secondary);}.filter-chip.active{background:var(--accent-glow);color:var(--accent);border-color:var(--border-accent);}
.route-info{padding:14px 16px;border-bottom:1px solid var(--border);display:none;}.route-info.visible{display:block;}
.route-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}.route-stat{text-align:center;}.route-stat-val{font-size:20px;font-weight:700;color:var(--accent);line-height:1;}.route-stat-lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:2px;}
.alt-routes{padding:10px 16px;border-bottom:1px solid var(--border);display:none;}.alt-routes.visible{display:block;}
.alt-route-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;margin-bottom:6px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:12px;font-family:'Inter',sans-serif;transition:all .2s;}.alt-route-btn:last-child{margin-bottom:0;}.alt-route-btn:hover{border-color:var(--border-accent);color:var(--text-primary);}.alt-route-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent);}
.alt-route-color{width:20px;height:4px;border-radius:2px;flex-shrink:0;}.alt-route-info{flex:1;text-align:left;}.alt-route-dist{font-weight:600;}.alt-route-time{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-muted);margin-left:6px;}
.alt-route-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;font-family:'JetBrains Mono',monospace;}.alt-route-badge.best{background:rgba(166,227,161,0.15);color:#a6e3a1;}.alt-route-badge.longer{background:rgba(249,226,175,0.15);color:#f9e2af;}.alt-route-badge.shorter{background:rgba(137,180,250,0.15);color:#89b4fa;}
.dir-panel{border-top:1px solid var(--border);max-height:150px;overflow-y:auto;display:none;}.dir-panel.visible{display:block;}.dir-panel::-webkit-scrollbar{width:3px;}.dir-panel::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.dir-head{padding:10px 16px 6px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);position:sticky;top:0;background:var(--bg-secondary);z-index:1;}
.dir-step{display:flex;align-items:flex-start;gap:10px;padding:7px 16px;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border);line-height:1.5;}.dir-step:last-child{border-bottom:none;}.dir-icon{font-size:14px;flex-shrink:0;margin-top:1px;}.dir-text{flex:1;}.dir-dist{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--accent);white-space:nowrap;flex-shrink:0;margin-top:2px;}
.chat-area{flex:1;display:flex;flex-direction:column;min-height:0;}
.chat-popup{position:fixed;bottom:80px;right:20px;width:400px;height:520px;max-height:calc(100vh - 110px);background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:14px;z-index:9000;display:none;flex-direction:column;box-shadow:0 12px 48px rgba(0,0,0,0.6),0 0 0 1px rgba(203,166,247,0.1);animation:popupIn .25s ease;overflow:hidden;}.chat-popup.open{display:flex;}
@keyframes popupIn{from{opacity:0;transform:translateY(16px) scale(.96);}to{opacity:1;transform:none;}}
.chat-popup-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;cursor:move;}
.chat-popup-head .chat-popup-logo{width:28px;height:28px;flex-shrink:0;}.chat-popup-head .chat-popup-logo svg{width:100%;height:100%;}
.chat-popup-title{flex:1;font-weight:600;font-size:13px;}.chat-popup-title span{color:var(--accent);}
.chat-popup-close{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s;}.chat-popup-close:hover{border-color:var(--red);color:var(--red);}
.chat-fab{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),var(--blue));color:var(--bg-primary);cursor:pointer;z-index:9001;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(203,166,247,0.4);transition:all .3s;}.chat-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(203,166,247,0.5);}.chat-fab.active{background:var(--bg-overlay);color:var(--accent);border:1px solid var(--accent);}.chat-fab svg{width:24px;height:24px;}
.chat-popup .chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;}
.chat-popup .chat-input-bar{padding:10px 12px;border-top:1px solid var(--border);display:flex;gap:6px;}
.chat-popup .chat-input{flex:1;background:var(--bg-overlay);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--text-primary);font-size:13px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}.chat-popup .chat-input:focus{border-color:var(--accent);}.chat-popup .chat-input::placeholder{color:var(--text-muted);}
.chat-popup .chat-send{width:36px;height:36px;border-radius:8px;border:none;background:var(--accent);color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}.chat-popup .chat-send:hover{filter:brightness(1.1);}.chat-popup .chat-send svg{width:16px;height:16px;}
.chat-popup .quick-actions{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px;border-bottom:1px solid var(--border);flex-shrink:0;}
.chat-popup .quick-btn{padding:4px 9px;border-radius:16px;font-size:10px;font-weight:500;background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;}.chat-popup .quick-btn:hover{border-color:var(--border-accent);color:var(--accent);background:var(--accent-glow);}
.chat-popup .msg{max-width:92%;font-size:12px;padding:8px 12px;}

.upi-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10000;display:none;align-items:center;justify-content:center;}.upi-overlay.open{display:flex;}
.upi-modal{background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:14px;width:90%;max-width:420px;box-shadow:0 16px 64px rgba(0,0,0,0.6);animation:popupIn .25s ease;overflow:hidden;}
.upi-modal-head{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.upi-modal-head h2{font-size:17px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px;}
.upi-modal-head h2 svg{width:22px;height:22px;}
.upi-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:22px;padding:0 4px;line-height:1;}.upi-close:hover{color:var(--red);}
.upi-body{padding:20px 24px;}
.upi-field{margin-bottom:16px;}
.upi-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;display:block;}
.upi-input{width:100%;background:var(--bg-overlay);border:1px solid var(--border);border-radius:8px;padding:11px 14px;color:var(--text-primary);font-size:14px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}.upi-input:focus{border-color:var(--accent);}.upi-input::placeholder{color:var(--text-muted);}
.upi-input.amount{font-size:24px;font-weight:700;color:var(--green);text-align:center;font-family:'JetBrains Mono',monospace;}
.upi-apps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;}
.upi-app{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:10px;border:1px solid var(--border);background:var(--bg-overlay);cursor:pointer;transition:all .2s;}.upi-app:hover{border-color:var(--border-accent);background:var(--accent-glow);}.upi-app.selected{border-color:var(--accent);background:var(--accent-glow);}
.upi-app-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.upi-app-name{font-size:9px;font-weight:600;color:var(--text-secondary);text-align:center;}
.upi-pay-btn{width:100%;padding:14px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--green),#6bcf7f);color:var(--bg-primary);font-size:15px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .2s;margin-top:8px;}.upi-pay-btn:hover{filter:brightness(1.1);transform:translateY(-1px);}
.upi-pay-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.upi-or{text-align:center;font-size:11px;color:var(--text-muted);margin:12px 0;position:relative;}.upi-or::before,.upi-or::after{content:"";position:absolute;top:50%;width:calc(50% - 24px);height:1px;background:var(--border);}.upi-or::before{left:0;}.upi-or::after{right:0;}
.upi-qr-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:20px;text-align:center;}
.upi-qr-box canvas{display:block;margin:0 auto 10px;}
.upi-qr-hint{font-size:11px;color:var(--text-muted);}
.upi-secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:10px;color:var(--text-muted);}
.pay-gw-tabs{display:flex;border-bottom:1px solid var(--border);}.pay-gw-tab{flex:1;padding:10px 0;font-size:11px;font-weight:600;text-align:center;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;}.pay-gw-tab:hover{color:var(--text-secondary);background:var(--bg-overlay);}.pay-gw-tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;}.chat-messages::-webkit-scrollbar{width:4px;}.chat-messages::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:4px;}
.msg{max-width:90%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.6;animation:fadeIn .25s;}@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.msg-bot{background:var(--bg-overlay);color:var(--text-secondary);align-self:flex-start;border-bottom-left-radius:4px;}.msg-bot strong{color:var(--text-primary);}
.msg-user{background:rgba(203,166,247,0.15);color:var(--text-primary);align-self:flex-end;border-bottom-right-radius:4px;}
.msg-system{align-self:center;font-size:11px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;background:none;padding:4px 0;}
.msg-loading{align-self:flex-start;background:var(--bg-overlay);padding:12px 18px;border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:5px;}.msg-loading span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:ldot 1.4s infinite;}.msg-loading span:nth-child(2){animation-delay:.2s;}.msg-loading span:nth-child(3){animation-delay:.4s;}@keyframes ldot{0%,80%,100%{opacity:.3;transform:scale(.8);}40%{opacity:1;transform:scale(1.2);}}
.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:14px;margin-top:6px;}
.card-title{font-weight:600;color:var(--text-primary);font-size:14px;margin-bottom:6px;}
.card-text{font-size:12.5px;color:var(--text-secondary);line-height:1.6;}
.card-text a{color:var(--blue);text-decoration:none;}.card-text a:hover{text-decoration:underline;}
.card-row{display:flex;gap:12px;align-items:flex-start;}
.card-thumb{width:60px;height:60px;border-radius:6px;object-fit:cover;flex-shrink:0;background:var(--bg-overlay);}
.card-meta{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-muted);margin-top:6px;}
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;}
.card-grid-item{background:var(--bg-overlay);border-radius:6px;padding:8px 10px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .15s;border:1px solid transparent;}.card-grid-item:hover{border-color:var(--border-accent);color:var(--text-primary);}
.card-grid-item strong{display:block;color:var(--text-primary);font-size:12px;margin-bottom:2px;}
.quick-actions{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;border-bottom:1px solid var(--border);flex-shrink:0;}
.quick-btn{padding:6px 12px;border-radius:20px;font-size:11px;font-weight:500;background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;}.quick-btn:hover{border-color:var(--border-accent);color:var(--accent);background:var(--accent-glow);}
.chat-input-bar{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;}
.chat-input{flex:1;background:var(--bg-overlay);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text-primary);font-size:13px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}.chat-input:focus{border-color:var(--accent);}.chat-input::placeholder{color:var(--text-muted);}
.chat-send{width:40px;height:40px;border-radius:8px;border:none;background:var(--accent);color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}.chat-send:hover{filter:brightness(1.1);transform:translateY(-1px);}.chat-send svg{width:18px;height:18px;}
.map-wrap{flex:1;position:relative;min-width:0;}#map{width:100%;height:100%;z-index:1;background:#0e1626;}
.leaflet-control-zoom a{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border)!important;}.leaflet-control-zoom a:hover{background:var(--bg-overlay)!important;}
.leaflet-control-attribution{display:none!important;}
.leaflet-popup-content-wrapper{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-radius:10px!important;box-shadow:0 8px 24px rgba(0,0,0,0.5)!important;border:1px solid var(--border)!important;}.leaflet-popup-tip{background:var(--bg-secondary)!important;}.leaflet-popup-close-button{color:var(--text-muted)!important;font-size:18px!important;}.leaflet-popup-content{font-family:'Inter',sans-serif;font-size:13px;line-height:1.5;margin:12px 16px!important;}.leaflet-popup-content strong{color:var(--text-primary);}
.pop-type{display:inline-block;margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:10px;padding:2px 8px;border-radius:4px;background:var(--accent-glow);color:var(--accent);}.pop-dist{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent);}
.place-panel{position:absolute;top:12px;right:12px;width:270px;max-height:calc(100% - 24px);background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;z-index:800;overflow:hidden;display:none;box-shadow:0 8px 32px rgba(0,0,0,0.4);}.place-panel.visible{display:block;}
.place-panel-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}.place-panel-title{font-weight:600;font-size:13px;}.place-panel-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:18px;padding:0 2px;}
.place-panel-list{max-height:320px;overflow-y:auto;padding:6px 0;}.place-panel-list::-webkit-scrollbar{width:3px;}.place-panel-list::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.place-item{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;transition:background .15s;}.place-item:hover{background:var(--bg-overlay);}.place-item-icon{font-size:16px;flex-shrink:0;}.place-item-info{flex:1;min-width:0;}.place-item-name{font-size:12.5px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.place-item-addr{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.place-item-dist{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent);flex-shrink:0;}
.search-progress{padding:8px 16px;border-bottom:1px solid var(--border);display:none;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-muted);}.search-progress.visible{display:block;}
.search-progress-bar{height:3px;background:var(--bg-overlay);border-radius:3px;margin-top:6px;overflow:hidden;}.search-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--blue));border-radius:3px;transition:width .4s ease;width:0;}
.map-click-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);z-index:800;background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:8px;padding:8px 16px;font-size:12px;color:var(--text-secondary);display:none;box-shadow:0 4px 16px rgba(0,0,0,0.4);pointer-events:none;}.map-click-hint.visible{display:block;}.map-click-hint strong{color:var(--accent);}
.help-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:9999;display:none;align-items:center;justify-content:center;}.help-overlay.open{display:flex;}
.help-modal{background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:12px;width:90%;max-width:640px;max-height:85vh;overflow-y:auto;box-shadow:0 16px 64px rgba(0,0,0,0.6);}.help-modal::-webkit-scrollbar{width:4px;}.help-modal::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:4px;}
.help-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--bg-secondary);z-index:1;}.help-header h2{font-size:18px;font-weight:700;color:var(--text-primary);}.help-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:24px;padding:0 4px;line-height:1;}.help-close:hover{color:var(--accent);}
.help-body{padding:20px 24px 24px;}.help-section{margin-bottom:24px;}.help-section:last-child{margin-bottom:0;}.help-section h3{font-size:14px;font-weight:600;color:var(--accent);margin-bottom:10px;}.help-step{display:flex;gap:12px;margin-bottom:10px;align-items:flex-start;}.help-step-num{width:22px;height:22px;border-radius:50%;background:var(--accent-glow);color:var(--accent);font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}.help-step-text{font-size:13px;color:var(--text-secondary);line-height:1.6;}.help-step-text strong{color:var(--text-primary);}.help-step-text code{font-family:'JetBrains Mono',monospace;font-size:11px;background:var(--bg-overlay);padding:2px 6px;border-radius:4px;color:var(--peach);}
.help-cmd-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;}.help-cmd{background:var(--bg-overlay);border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-size:12px;color:var(--text-secondary);}.help-cmd strong{color:var(--text-primary);display:block;margin-bottom:2px;font-size:11px;}.help-cmd em{font-style:normal;color:var(--peach);font-family:'JetBrains Mono',monospace;font-size:11px;}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px;}.price-card{background:var(--bg-overlay);border:1px solid var(--border);border-radius:8px;padding:10px 12px;transition:all .2s;cursor:pointer;text-decoration:none;display:block;}.price-card:hover{border-color:var(--border-accent);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.3);}.price-card-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;}.price-platform{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--accent-glow);color:var(--accent);}.price-status{font-size:9px;padding:2px 6px;border-radius:4px;}.price-status.ok{background:rgba(166,227,161,0.12);color:var(--green);}.price-status.link{background:rgba(137,180,250,0.12);color:var(--blue);}.price-status.err{background:rgba(243,139,168,0.12);color:var(--red);}.price-name{font-size:12px;font-weight:500;color:var(--text-primary);margin-bottom:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}.price-val{font-size:16px;font-weight:700;color:var(--green);line-height:1;margin-bottom:4px;}.price-val.na{font-size:11px;color:var(--text-muted);font-weight:400;}.price-original{font-size:10px;color:var(--text-muted);text-decoration:line-through;}.price-meta{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--text-muted);margin-top:4px;}.price-img{width:100%;height:80px;border-radius:4px;object-fit:contain;background:var(--bg-surface);margin-bottom:6px;}.price-loading{padding:6px 0;font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:6px;}.price-loading::before{content:"";width:10px;height:10px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}
.price-add-btn{width:100%;margin-top:6px;padding:6px;border:none;border-radius:5px;background:var(--accent-glow);color:var(--accent);font-size:11px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;transition:all .15s;border:1px solid transparent;}.price-add-btn:hover{border-color:var(--accent);background:rgba(203,166,247,0.15);transform:translateY(-1px);}
.ad-rotator{border-top:1px solid var(--border);flex-shrink:0;overflow:hidden;background:var(--bg-surface);position:relative;height:auto;min-height:120px;}
.ad-rotator .ad-label{position:absolute;top:4px;right:8px;font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.5;z-index:2;}
.ad-card{padding:12px 14px;cursor:pointer;text-decoration:none;display:block;animation:adFadeIn .4s ease;}
.ad-card:hover{background:rgba(203,166,247,0.03);}
.ad-card-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.ad-card-sponsor{font-size:9px;color:var(--text-muted);font-family:'JetBrains Mono',monospace;letter-spacing:.04em;}
.ad-card-google{margin-left:auto;display:flex;align-items:center;gap:3px;}
.ad-card-google span{font-size:8px;color:var(--text-muted);opacity:.5;}
.ad-card-google svg{width:10px;height:10px;opacity:.4;}
.ad-card-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.ad-card-title{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ad-card-desc{font-size:10px;color:var(--text-muted);line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ad-card-cta{display:inline-block;font-size:10px;font-weight:600;padding:4px 12px;border-radius:4px;transition:all .2s;}
.ad-card-cta:hover{filter:brightness(1.15);transform:translateY(-1px);}
.ad-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:6px;border-top:1px solid var(--border);}
.ad-card-url{font-size:9px;color:var(--text-muted);opacity:.6;font-family:'JetBrains Mono',monospace;}
.ad-card-adchoices{display:flex;align-items:center;gap:2px;font-size:8px;color:var(--text-muted);opacity:.4;}
.ad-progress{display:flex;gap:3px;padding:6px 14px 8px;justify-content:center;}
.ad-progress-dot{width:5px;height:5px;border-radius:50%;background:var(--border);transition:all .3s;}.ad-progress-dot.active{background:var(--accent);width:14px;border-radius:3px;}
@keyframes adFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.shop-search{padding:12px;border-bottom:1px solid var(--border);display:flex;gap:6px;}
.shop-search input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-primary);font-size:12px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}.shop-search input:focus{border-color:var(--accent);}.shop-search input::placeholder{color:var(--text-muted);}
.shop-search button{padding:8px 14px;border:none;border-radius:8px;background:var(--accent);color:var(--bg-primary);font-size:12px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;white-space:nowrap;}.shop-search button:hover{filter:brightness(1.1);}
.shop-cats{display:flex;gap:4px;padding:8px 12px;overflow-x:auto;flex-shrink:0;}.shop-cats::-webkit-scrollbar{height:0;}
.shop-cat{padding:4px 10px;border-radius:14px;font-size:10px;font-weight:500;background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0;}.shop-cat:hover{border-color:var(--border-accent);color:var(--text-secondary);}.shop-cat.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent);}
.shop-list{flex:1;overflow-y:auto;padding:8px 12px;}.shop-list::-webkit-scrollbar{width:3px;}.shop-list::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.shop-item{display:flex;gap:10px;padding:10px;border-radius:8px;border:1px solid var(--border);margin-bottom:6px;cursor:pointer;transition:all .2s;}.shop-item:hover{border-color:var(--border-accent);background:var(--bg-overlay);}
.shop-item-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--bg-overlay);}
.shop-item-info{flex:1;min-width:0;}
.shop-item-name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.shop-item-meta{font-size:10px;color:var(--text-muted);margin-top:2px;}
.shop-item-prices{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap;}
.shop-price-tag{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;font-family:'JetBrains Mono',monospace;}
.shop-item-add{padding:6px 10px;border:none;border-radius:6px;background:var(--accent-glow);color:var(--accent);font-size:10px;font-weight:600;cursor:pointer;flex-shrink:0;align-self:center;transition:all .15s;font-family:'Inter',sans-serif;}.shop-item-add:hover{background:var(--accent);color:var(--bg-primary);}
.shop-item-price-single{font-size:13px;font-weight:700;color:var(--green);font-family:'JetBrains Mono',monospace;flex-shrink:0;align-self:center;margin-right:6px;}
.shop-cart-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;cursor:pointer;transition:background .2s;}.shop-cart-bar:hover{background:var(--bg-overlay);}
.shop-cart-info{display:flex;align-items:center;gap:8px;}
.shop-cart-count{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--bg-primary);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;}
.shop-cart-total{font-size:13px;font-weight:700;color:var(--green);font-family:'JetBrains Mono',monospace;}
.shop-cart-label{font-size:11px;color:var(--text-secondary);}
.asst-chat{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;}
.asst-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-height:0;}.asst-messages::-webkit-scrollbar{width:3px;}.asst-messages::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.asst-msg{max-width:88%;font-size:12px;padding:8px 12px;border-radius:10px;line-height:1.5;word-wrap:break-word;}
.asst-msg.bot{background:var(--bg-overlay);color:var(--text-primary);align-self:flex-start;border-bottom-left-radius:2px;}
.asst-msg.user{background:var(--accent);color:var(--bg-primary);align-self:flex-end;border-bottom-right-radius:2px;}
.asst-msg.system{background:transparent;color:var(--text-muted);font-size:10px;text-align:center;align-self:center;padding:4px 0;}
.asst-msg a{color:var(--blue);text-decoration:none;}.asst-msg a:hover{text-decoration:underline;}
.asst-msg strong{color:var(--text-primary);}.asst-msg.user strong{color:var(--bg-primary);}
.asst-msg em{color:var(--peach);font-style:normal;font-family:'JetBrains Mono',monospace;font-size:11px;}
.asst-loading{display:flex;gap:4px;padding:8px 12px;align-self:flex-start;}.asst-loading span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:asstBounce 1.4s infinite ease-in-out;}.asst-loading span:nth-child(1){animation-delay:0s;}.asst-loading span:nth-child(2){animation-delay:.2s;}.asst-loading span:nth-child(3){animation-delay:.4s;}
@keyframes asstBounce{0%,80%,100%{transform:scale(0);opacity:.4;}40%{transform:scale(1);opacity:1;}}
.asst-quick{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0;}
.asst-quick button{padding:5px 10px;border-radius:14px;font-size:10px;font-weight:500;background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;}.asst-quick button:hover{border-color:var(--border-accent);color:var(--accent);background:var(--accent-glow);}
.asst-input-bar{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0;}
.asst-input{flex:1;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-primary);font-size:12px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;}.asst-input:focus{border-color:var(--accent);}.asst-input::placeholder{color:var(--text-muted);}
.asst-send{width:34px;height:34px;border-radius:8px;border:none;background:var(--accent);color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;}.asst-send:hover{filter:brightness(1.1);}
.asst-send svg{width:14px;height:14px;}
/* AI Agent System */
.agent-header{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0;}
.agent-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;position:relative;transition:all .3s;}
.agent-avatar::after{content:"";position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-surface);transition:background .3s;}
.agent-avatar.online::after{background:var(--green);}.agent-avatar.busy::after{background:var(--peach);}.agent-avatar.offline::after{background:var(--red);}
.agent-info{flex:1;min-width:0;}
.agent-name{font-size:12px;font-weight:700;color:var(--text-primary);}
.agent-status-text{font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:4px;}
.agent-status-dot{width:5px;height:5px;border-radius:50%;display:inline-block;}.agent-status-dot.online{background:var(--green);box-shadow:0 0 4px var(--green);}.agent-status-dot.busy{background:var(--peach);box-shadow:0 0 4px var(--peach);animation:pulse 1.5s infinite;}
.agent-actions-row{display:flex;gap:4px;flex-shrink:0;}
.agent-header-btn{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s;}.agent-header-btn:hover{border-color:var(--accent);color:var(--accent);}
/* Agent handoff card */
.agent-handoff{padding:8px 12px;margin:4px 0;border-radius:8px;background:linear-gradient(135deg,rgba(203,166,247,0.08),rgba(137,180,250,0.08));border:1px solid rgba(203,166,247,0.15);font-size:10px;color:var(--text-secondary);display:flex;align-items:center;gap:8px;animation:fadeSlideIn .3s ease;}
.agent-handoff-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;background:var(--bg-overlay);}
.agent-handoff-text{flex:1;line-height:1.4;}.agent-handoff-text strong{color:var(--accent);}
/* Agent typing indicator */
.agent-typing{display:flex;align-items:center;gap:8px;padding:8px 12px;align-self:flex-start;}
.agent-typing-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;background:var(--bg-overlay);}
.agent-typing-dots{display:flex;gap:3px;}.agent-typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-muted);animation:agentBounce 1.4s infinite ease-in-out;}.agent-typing-dots span:nth-child(1){animation-delay:0s;}.agent-typing-dots span:nth-child(2){animation-delay:.2s;}.agent-typing-dots span:nth-child(3){animation-delay:.4s;}
@keyframes agentBounce{0%,80%,100%{transform:scale(0.6);opacity:.3;}40%{transform:scale(1);opacity:1;}}
/* Agent message with avatar */
.agent-msg-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:2px;}
.agent-msg-row.user{flex-direction:row-reverse;}
.agent-msg-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;background:var(--bg-overlay);margin-bottom:2px;}
.agent-msg-row.user .agent-msg-avatar{background:var(--accent-glow);visibility:hidden;}
/* Action buttons in messages */
.agent-action-bar{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap;}
.agent-action-btn{padding:4px 10px;border-radius:12px;font-size:10px;font-weight:500;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:3px;}.agent-action-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);}
.agent-action-btn.primary{background:var(--accent);color:var(--bg-primary);border-color:var(--accent);}.agent-action-btn.primary:hover{filter:brightness(1.1);}
/* Agent feedback */
.agent-feedback{display:flex;align-items:center;gap:6px;margin-top:6px;padding-top:6px;border-top:1px solid var(--border);}
.agent-fb-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .2s;}.agent-fb-btn:hover{border-color:var(--green);color:var(--green);}.agent-fb-btn.active{background:rgba(166,227,161,0.15);border-color:var(--green);color:var(--green);}
.agent-fb-label{font-size:9px;color:var(--text-muted);}
/* Agent quick actions (enhanced) */
.agent-quick{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px;border-top:1px solid var(--border);flex-shrink:0;}
.agent-quick-btn{padding:5px 10px;border-radius:14px;font-size:10px;font-weight:500;background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;display:flex;align-items:center;gap:3px;}.agent-quick-btn:hover{border-color:var(--border-accent);color:var(--accent);background:var(--accent-glow);}
.agent-quick-btn .aq-icon{font-size:11px;}
/* Agent context badge */
.agent-context-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;background:rgba(203,166,247,0.1);color:var(--accent);margin-left:4px;}
/* Product card in agent chat */
.agent-product-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:10px;margin-top:6px;transition:border-color .2s;}.agent-product-card:hover{border-color:var(--border-accent);}
.agent-product-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.agent-product-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-overlay);}
.agent-product-name{font-size:12px;font-weight:600;color:var(--text-primary);}
.agent-product-meta{font-size:10px;color:var(--text-muted);}
.agent-product-prices{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;}
.agent-product-add{margin-top:8px;display:flex;align-items:center;gap:6px;}
.agent-product-add .ticket-btn{font-size:10px;padding:5px 12px;}
.agent-product-price-val{font-size:13px;font-weight:700;color:var(--green);font-family:'JetBrains Mono',monospace;}
/* Agent conversation summary */
.agent-summary{padding:8px 12px;margin:4px 0;border-radius:8px;background:rgba(137,180,250,0.06);border:1px solid rgba(137,180,250,0.15);font-size:10px;color:var(--text-secondary);line-height:1.5;}
.agent-summary strong{color:var(--blue);}
/* Live Agent escalation */
.agent-escalate-bar{display:flex;align-items:center;gap:6px;padding:6px 12px;border-top:1px solid var(--border);flex-shrink:0;background:var(--bg-surface);}
.agent-escalate-bar .esc-text{flex:1;font-size:9px;color:var(--text-muted);}
.agent-escalate-btn{padding:4px 10px;border-radius:12px;font-size:9px;font-weight:600;background:rgba(243,139,168,0.1);color:var(--red);border:1px solid rgba(243,139,168,0.25);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;white-space:nowrap;display:flex;align-items:center;gap:3px;}.agent-escalate-btn:hover{background:rgba(243,139,168,0.2);border-color:var(--red);}
.agent-escalate-btn.human{background:rgba(166,227,161,0.1);color:var(--green);border-color:rgba(166,227,161,0.25);}.agent-escalate-btn.human:hover{background:rgba(166,227,161,0.2);}
/* Proactive suggestions */
.agent-proactive{display:flex;flex-wrap:wrap;gap:4px;padding:4px 12px 4px 32px;}
.agent-proactive-btn{padding:3px 8px;border-radius:10px;font-size:9px;font-weight:500;background:var(--bg-surface);color:var(--text-muted);border:1px solid var(--border);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}.agent-proactive-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);}
/* Live status banner */
.agent-live-banner{display:flex;align-items:center;gap:6px;padding:4px 12px;font-size:9px;color:var(--green);border-bottom:1px solid rgba(166,227,161,0.15);background:rgba(166,227,161,0.03);flex-shrink:0;animation:fadeSlideIn .3s ease;}
.agent-live-banner .live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 4px var(--green);animation:pulse 2s infinite;}
.agent-live-banner .live-text{flex:1;}
.agent-live-banner .live-elapsed{font-family:'JetBrains Mono',monospace;color:var(--text-muted);}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
/* Support Center sub-tabs */
.supp-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-surface);}
.supp-tab{flex:1;padding:8px 0;font-size:10px;font-weight:600;text-align:center;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:3px;font-family:'Inter',sans-serif;}.supp-tab:hover{color:var(--text-secondary);background:var(--bg-overlay);}.supp-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-primary);}
.supp-tab .tab-icon{font-size:12px;}
.supp-view{display:none;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;}.supp-view.active{display:flex;}.supp-view::-webkit-scrollbar{width:3px;}.supp-view::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.supp-view-header{padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0;}
.supp-view-header h3{font-size:13px;font-weight:700;color:var(--text-primary);margin-bottom:2px;}
.supp-view-header p{font-size:10px;color:var(--text-muted);line-height:1.4;}
/* Ticket cards */
.ticket-list{flex:1;overflow-y:auto;padding:8px 12px;}.ticket-list::-webkit-scrollbar{width:3px;}.ticket-list::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.ticket-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer;transition:all .2s;}.ticket-card:hover{border-color:var(--border-accent);background:var(--bg-overlay);}
.ticket-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.ticket-card-id{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-muted);}
.ticket-status{font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em;}.ticket-status.open{background:rgba(166,227,161,0.15);color:var(--green);}.ticket-status.in-progress{background:rgba(137,180,250,0.15);color:var(--blue);}.ticket-status.resolved{background:rgba(108,112,134,0.15);color:var(--text-muted);}
.ticket-card-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:3px;}
.ticket-card-desc{font-size:11px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ticket-card-meta{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:9px;color:var(--text-muted);}
.ticket-card-cat{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;background:var(--accent-glow);color:var(--accent);}
.ticket-card-priority.low{color:var(--green);}.ticket-card-priority.medium{color:var(--peach);}.ticket-card-priority.high{color:var(--red);}
.ticket-empty{text-align:center;padding:30px 12px;color:var(--text-muted);font-size:11px;}
.ticket-empty .ticket-empty-icon{font-size:28px;margin-bottom:8px;opacity:.5;}
/* Ticket form */
.ticket-form{padding:12px 14px;display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;}
.ticket-form-group{display:flex;flex-direction:column;gap:4px;}
.ticket-form-group label{font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;}
.ticket-form-input,.ticket-form-select,.ticket-form-textarea{padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-primary);font-size:12px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s;width:100%;}.ticket-form-input:focus,.ticket-form-select:focus,.ticket-form-textarea:focus{border-color:var(--accent);}.ticket-form-select{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='%236c7086' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px;}
.ticket-form-textarea{min-height:80px;resize:vertical;font-family:'Inter',sans-serif;}
.ticket-form-actions{display:flex;gap:8px;padding-top:4px;}
.ticket-btn{flex:1;padding:10px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;}.ticket-btn-primary{background:var(--accent);color:var(--bg-primary);}.ticket-btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px);}.ticket-btn-secondary{background:var(--bg-overlay);color:var(--text-secondary);border:1px solid var(--border);}.ticket-btn-secondary:hover{border-color:var(--border-accent);color:var(--text-primary);}.ticket-btn-danger{background:rgba(243,139,168,0.15);color:var(--red);border:1px solid rgba(243,139,168,0.25);}.ticket-btn-danger:hover{background:rgba(243,139,168,0.25);}
/* Shop Creator */
.shopcreator-form{padding:12px 14px;display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;}
.shopcreator-products{border-top:1px solid var(--border);padding-top:10px;margin-top:4px;}
.shopcreator-products h4{font-size:11px;font-weight:700;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;}
.shopcreator-prod-item{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:var(--bg-surface);transition:all .2s;}.shopcreator-prod-item:hover{border-color:var(--border-accent);}
.shopcreator-prod-info{flex:1;min-width:0;}
.shopcreator-prod-name{font-size:11px;font-weight:600;color:var(--text-primary);}
.shopcreator-prod-meta{font-size:9px;color:var(--text-muted);margin-top:1px;}
.shopcreator-prod-price{font-size:11px;font-weight:700;color:var(--green);font-family:'JetBrains Mono',monospace;white-space:nowrap;}
.shopcreator-prod-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px;transition:color .2s;}.shopcreator-prod-remove:hover{color:var(--red);}
.shopcreator-empty{text-align:center;padding:20px;color:var(--text-muted);font-size:11px;}
.shopcreator-loc{display:flex;gap:6px;align-items:center;margin-top:2px;}
.shopcreator-loc .btn{padding:6px 10px;font-size:10px;flex:none;}
.shopcreator-loc-text{font-size:10px;color:var(--text-muted);flex:1;text-align:right;}
/* Bulk Upload */
.bulk-upload-zone{border:2px dashed var(--border);border-radius:10px;padding:16px;text-align:center;cursor:pointer;transition:all .25s;background:var(--bg-overlay);position:relative;}.bulk-upload-zone:hover{border-color:var(--accent);background:rgba(203,166,247,0.04);}.bulk-upload-zone.dragover{border-color:var(--accent);background:rgba(203,166,247,0.08);transform:scale(1.01);}
.bulk-upload-zone .upload-icon{font-size:28px;margin-bottom:6px;display:block;}
.bulk-upload-zone .upload-label{font-size:11px;font-weight:600;color:var(--text-secondary);display:block;}
.bulk-upload-zone .upload-sub{font-size:9px;color:var(--text-muted);margin-top:3px;display:block;}
.bulk-upload-zone input[type=file]{display:none;}
.bulk-file-info{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);margin-top:8px;font-size:10px;color:var(--text-secondary);}.bulk-file-info .file-icon{font-size:16px;}.bulk-file-info .file-name{flex:1;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.bulk-file-info .file-size{color:var(--text-muted);white-space:nowrap;}
.bulk-preview{max-height:160px;overflow-y:auto;margin-top:8px;border:1px solid var(--border);border-radius:8px;}.bulk-preview::-webkit-scrollbar{width:3px;}.bulk-preview::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.bulk-preview table{width:100%;border-collapse:collapse;font-size:9px;}.bulk-preview th{background:var(--bg-overlay);padding:5px 8px;text-align:left;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;border-bottom:1px solid var(--border);}.bulk-preview td{padding:4px 8px;border-bottom:1px solid rgba(69,71,90,0.3);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;}.bulk-preview tr:hover td{background:rgba(203,166,247,0.04);}
.bulk-actions{display:flex;gap:6px;margin-top:8px;align-items:center;}
.bulk-status{font-size:10px;color:var(--text-muted);padding:6px 0;}.bulk-status .ok{color:var(--green);font-weight:600;}.bulk-status .err{color:var(--red);font-weight:600;}
.bulk-progress{height:4px;background:var(--bg-overlay);border-radius:4px;overflow:hidden;margin-top:6px;}.bulk-progress-bar{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease;width:0;}
.bulk-history-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;margin-bottom:4px;font-size:10px;background:var(--bg-surface);}.bulk-history-item .bh-icon{font-size:14px;}.bulk-history-item .bh-info{flex:1;}.bulk-history-item .bh-name{font-weight:600;color:var(--text-primary);}.bulk-history-item .bh-meta{color:var(--text-muted);font-size:9px;}.bulk-history-item .bh-status{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:600;}.bulk-history-item .bh-status.ok{background:rgba(166,227,161,0.15);color:var(--green);}.bulk-history-item .bh-status.pending{background:rgba(249,226,175,0.15);color:var(--yellow);}.bulk-history-item .bh-status.err{background:rgba(243,139,168,0.15);color:var(--red);}
/* Seed data notice */
.seed-notice{padding:8px 12px;margin:0 12px 8px;border:1px solid rgba(166,227,161,0.25);border-radius:8px;background:rgba(166,227,161,0.05);font-size:10px;color:var(--green);display:flex;align-items:center;gap:6px;}.seed-notice .seed-icon{font-size:14px;}
/* Ticket detail overlay */
.ticket-detail{position:absolute;inset:0;background:var(--bg-secondary);z-index:10;display:flex;flex-direction:column;animation:popupIn .2s ease;}
.ticket-detail-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0;}
.ticket-detail-head .back-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:16px;transition:color .2s;}.ticket-detail-head .back-btn:hover{color:var(--text-primary);}
.ticket-detail-body{flex:1;overflow-y:auto;padding:14px;}.ticket-detail-body::-webkit-scrollbar{width:3px;}.ticket-detail-body::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.card{background:var(--bg-overlay);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-top:6px;}.card-title{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:4px;}.card-text{font-size:11px;color:var(--text-secondary);line-height:1.5;}.card-meta{font-size:10px;color:var(--text-muted);margin-top:6px;}.card-row{display:flex;gap:10px;}.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}.card-grid-item{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:11px;color:var(--text-secondary);}.card-thumb{border-radius:6px;object-fit:cover;flex-shrink:0;}
.cart-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font-size:9px;font-weight:700;display:none;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;}.cart-badge.vis{display:flex;}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:10000;display:none;align-items:center;justify-content:center;}.cart-overlay.open{display:flex;}
.cart-modal{background:var(--bg-secondary);border:1px solid var(--border-accent);border-radius:14px;width:90%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 16px 64px rgba(0,0,0,0.6);animation:popupIn .25s ease;overflow:hidden;}
.cart-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.cart-head h2{font-size:16px;font-weight:700;color:var(--text-primary);}
.cart-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:20px;padding:0 4px;line-height:1;}.cart-close:hover{color:var(--red);}
.cart-body{flex:1;overflow-y:auto;padding:16px 20px;}.cart-body::-webkit-scrollbar{width:3px;}.cart-body::-webkit-scrollbar-thumb{background:var(--bg-overlay);border-radius:3px;}
.cart-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);}.cart-item:last-child{border-bottom:none;}
.cart-item-img{width:48px;height:48px;border-radius:6px;background:var(--bg-overlay);object-fit:contain;flex-shrink:0;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cart-item-platform{font-size:10px;color:var(--text-muted);margin-top:2px;}
.cart-item-qty{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.cart-qty-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .15s;}.cart-qty-btn:hover{border-color:var(--accent);color:var(--accent);}
.cart-qty-num{font-size:12px;font-weight:600;color:var(--text-primary);min-width:16px;text-align:center;font-family:'JetBrains Mono',monospace;}
.cart-item-price{font-size:13px;font-weight:600;color:var(--green);flex-shrink:0;font-family:'JetBrains Mono',monospace;}
.cart-item-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:2px;transition:color .15s;}.cart-item-remove:hover{color:var(--red);}
.cart-empty{text-align:center;padding:30px 0;color:var(--text-muted);font-size:13px;}
.cart-summary{border-top:1px solid var(--border);padding:14px 20px;flex-shrink:0;background:var(--bg-surface);}
.cart-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:6px;}
.cart-row.gst{font-size:11px;color:var(--text-muted);padding-left:10px;}
.cart-row.delivery{color:var(--peach);}.cart-row.delivery.free{color:var(--green);}
.cart-row.total{font-size:14px;font-weight:700;color:var(--text-primary);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);}
.cart-delivery-note{font-size:10px;color:var(--text-muted);margin-bottom:8px;padding:6px 8px;background:var(--bg-overlay);border-radius:4px;}
.cart-payment{padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0;}
.cart-pay-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;}
.cart-pay-methods{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.cart-pay-btn{padding:6px 12px;border-radius:6px;font-size:11px;font-weight:500;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-muted);cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;}.cart-pay-btn:hover{border-color:var(--border-accent);color:var(--text-secondary);}.cart-pay-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);}
.cart-checkout-btn{width:100%;padding:13px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--green),#6bcf7f);color:var(--bg-primary);font-size:14px;font-weight:700;font-family:'Inter',sans-serif;cursor:pointer;transition:all .2s;}.cart-checkout-btn:hover{filter:brightness(1.1);transform:translateY(-1px);}.cart-checkout-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.lang-switch{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-overlay);cursor:pointer;transition:all .2s;position:relative;}.lang-switch:hover{border-color:var(--border-accent);}
.lang-current{font-size:11px;font-weight:600;color:var(--text-secondary);font-family:'JetBrains Mono',monospace;}
.lang-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:8px;min-width:140px;z-index:9999;display:none;box-shadow:0 8px 24px rgba(0,0,0,0.5);overflow:hidden;}.lang-dropdown.open{display:block;}
.lang-option{padding:8px 12px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:8px;}.lang-option:hover{background:var(--bg-overlay);color:var(--text-primary);}.lang-option.active{color:var(--accent);background:var(--accent-glow);}
.lang-option .lang-flag{font-size:14px;}
.paystatus-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:10030;display:none;align-items:center;justify-content:center;}.paystatus-overlay.open{display:flex;}
.paystatus-modal{background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:16px;padding:32px 28px;max-width:380px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.paystatus-icon{font-size:48px;margin-bottom:12px;}
.paystatus-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:8px;}
.paystatus-msg{font-size:13px;color:var(--text-secondary);margin-bottom:20px;line-height:1.5;}
.paystatus-actions{display:flex;gap:10px;justify-content:center;}
.paystatus-actions button{padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;}
.paystatus-success-btn{background:var(--green);color:var(--bg-primary);}.paystatus-success-btn:hover{filter:brightness(1.1);}
.paystatus-retry-btn{background:var(--accent);color:var(--bg-primary);}.paystatus-retry-btn:hover{filter:brightness(1.1);}
.paystatus-close-btn{background:var(--bg-overlay);border:1px solid var(--border);color:var(--text-secondary);}.paystatus-close-btn:hover{border-color:var(--border-accent);color:var(--text-primary);}
.paystatus-form{display:flex;flex-direction:column;gap:10px;width:100%;}
.paystatus-input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--bg-overlay);color:var(--text-primary);font-size:14px;font-family:'JetBrains Mono',monospace;text-align:center;letter-spacing:.1em;outline:none;transition:border-color .2s;}.paystatus-input:focus{border-color:var(--accent);}.paystatus-input.error{border-color:#f44336;}
.paystatus-error{font-size:11px;color:#f44336;min-height:16px;}
.paystatus-hint{font-size:11px;color:var(--text-muted);line-height:1.4;}
.paystatus-submit{padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;background:var(--green);color:var(--bg-primary);}.paystatus-submit:hover{filter:brightness(1.1);}.paystatus-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;}

.gw-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);z-index:10050;display:none;align-items:center;justify-content:center;}.gw-overlay.open{display:flex;}
.gw-modal{background:var(--bg-surface);border:1px solid var(--border-accent);border-radius:16px;overflow:hidden;width:520px;max-width:94%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.gw-modal-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);}
.gw-modal-title{font-size:14px;font-weight:600;color:var(--text-primary);}
.gw-modal-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;}.gw-modal-close:hover{background:var(--bg-overlay);color:var(--text-primary);}
.gw-iframe{width:100%;height:600px;max-height:80vh;border:none;display:block;}
@media(max-width:768px){.main{flex-direction:column;}.sidebar{width:100%;height:45vh;border-right:none;border-bottom:1px solid var(--border);}.map-wrap{height:55vh;}.place-panel{width:200px;}.help-cmd-grid{grid-template-columns:1fr;}.price-grid{grid-template-columns:1fr;}.chat-popup{width:calc(100% - 20px);right:10px;bottom:70px;height:60vh;max-height:none;}.chat-fab{bottom:12px;right:12px;width:50px;height:50px;}}