:root{--primary-color: #1ea2b1;--secondary-color: #166088;--accent-color: #4fc3f7;--text-color: #333;--bg-color: #f8f9fa;--card-bg: #ffffff;--border-color: #e0e0e0;--error-color: #e53935;--success-color: #43a047;--warning-color: #ffb300;--hover-color: rgba(8, 96, 251, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 10px 25px rgba(0,0,0,.1)}[data-theme=dark]{--primary-color: #1ea2b1;--secondary-color: #1e88e5;--accent-color: #82b1ff;--text-color: #e0e0e0;--bg-color: #121212;--card-bg: #1e1e1e;--border-color: #333;--hover-color: rgba(94, 151, 246, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;font-size:16px}.app-container{display:flex;flex-direction:column;min-height:100vh;max-width:600px;margin:0 auto;position:relative}header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background-color:var(--card-bg);box-shadow:var(--shadow-sm);z-index:100}.logo-container{display:flex;align-items:center;gap:10px}.logo-container img{height:32px;width:auto}.uthutho-text{font-size:1.3rem;font-weight:600;color:#1ea2b1}.header-actions{display:flex;gap:10px}.search-container{position:sticky;top:0;background-color:var(--card-bg);padding:15px 20px;box-shadow:var(--shadow-sm);z-index:90;border-bottom:1px solid var(--border-color)}.chat-wrapper{flex:1;overflow-y:auto;padding:0 20px 20px;display:flex;flex-direction:column-reverse}.chat-container{display:flex;flex-direction:column;gap:12px;padding-top:20px}.input-group{margin-bottom:15px}.input-group label{display:block;margin-bottom:8px;font-size:.9rem;color:var(--text-color);opacity:.8}.input-wrapper{position:relative}.input-group input{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background-color:var(--card-bg);color:var(--text-color);transition:all .2s ease}.input-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #0860fb1a}.btn{padding:14px 20px;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.icon-btn{width:40px;height:40px;padding:0;border-radius:50%;background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.primary{background-color:var(--primary-color);color:#fff}.secondary{background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.form-actions{display:flex;gap:10px;margin-top:15px}.message{max-width:85%;padding:12px 16px;border-radius:var(--radius-lg);position:relative;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;background-color:var(--primary-color);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message.bot{align-self:flex-start;margin:10px;background-color:var(--card-bg);border:1px solid var(--border-color);border-bottom-left-radius:var(--radius-sm)}.message-content{display:flex;gap:8px}.message-text{flex:1}.suggestions{position:absolute;width:100%;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:1000;max-height:250px;overflow-y:auto;margin-top:5px;box-shadow:var(--shadow-md)}.suggestion-item{padding:12px 16px;cursor:pointer;font-size:.95rem;color:var(--text-color);transition:background-color .2s ease;border-bottom:1px solid var(--border-color)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background-color:var(--hover-color)}.transport-select{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;background-color:var(--card-bg);color:var(--text-color);margin-bottom:15px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.language-select{@extend .transport-select;margin-bottom:0}footer{text-align:center;padding:15px;font-size:.8rem;color:#888}.location-pill{display:flex;align-items:center;gap:10px;padding:12px 16px;background-color:var(--card-bg);border-radius:var(--radius-lg);margin-bottom:10px;border:1px solid var(--border-color)}.location-pill .icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--primary-color);color:#fff}.location-pill .text{flex:1}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background-color:var(--card-bg);margin:15% auto;padding:20px;border-radius:var(--radius-lg);width:90%;max-width:400px;position:relative;box-shadow:var(--shadow-lg);animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{text-align:center;margin-bottom:15px;color:var(--primary-color);font-size:1.3rem}.close-modal{position:absolute;right:15px;top:10px;font-size:1.5rem;cursor:pointer;color:var(--text-color)}.auth-btn{width:100%;padding:10px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;cursor:pointer;margin-top:10px;transition:all .2s}.auth-btn:hover{background-color:var(--secondary-color)}.oauth-buttons{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:10px 0}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-top:15px}.option-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 8px;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.85rem}.option-btn:hover{background-color:#4a6fa51a;transform:translateY(-3px)}.option-btn i{font-size:1.5rem;margin-bottom:8px;color:var(--primary-color)}.option-btn span{font-size:.8rem;text-align:center}.transport-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.transport-btn{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg);cursor:pointer;transition:all .2s;font-size:.85rem}.transport-btn:hover,.transport-btn.active{background-color:var(--primary-color);color:#fff}.profile-modal{@extend .modal;}.profile-modal-content{@extend .modal-content;padding:30px}.profile-container{width:100%;max-width:400px;margin:0 auto;padding:20px;background-color:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:relative}.profile-container h2{text-align:center;margin-bottom:20px}.close-profile-modal{@extend .close-modal;}.confirm-btn{width:100%;padding:10px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem}.map-container{width:100%;height:300px;margin-bottom:15px;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.map-container iframe{width:100%;height:100%;border:none}.cost-div,.time-div{padding:10px;margin:5px;display:flex;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem}.uber-link{background-color:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--radius-sm);padding:10px}.user-controls{display:flex;gap:8px;align-items:center}@media (max-width: 480px){.app-container{max-width:100%}header,.search-container{padding:12px 15px}.input-group input,.transport-select{padding:12px 14px}.btn{padding:12px 16px}}.google-btn,.facebook-btn{width:100%;padding:10px;background-color:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.95rem;cursor:pointer;display:flex;align-items:center;justify-content:left}
