.dash-shell{--d-blue:#38bdf8;--d-green:#34d399;--d-violet:#a78bfa;--d-heading:#eaf1ff;--d-text:#cdd8ec;--d-muted:#9fb0cc;--d-faint:#6b7d9c;--d-surface:rgba(255,255,255,0.045);--d-border:rgba(255,255,255,0.09);position:relative;background:#060a1c;color:var(--d-text)}.dash-shell .dash-glow{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 42% at 85% -5%,rgba(56,189,248,.1),transparent 60%),radial-gradient(55% 45% at 5% 105%,rgba(167,139,250,.08),transparent 60%)}.dash-shell main{position:relative;z-index:1}.dash-shell .bg-white{background-color:var(--d-surface)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--d-border)}.dash-shell .bg-gray-50{background-color:rgba(255,255,255,.03)!important}.dash-shell .bg-gray-100{background-color:rgba(255,255,255,.06)!important}.dash-shell .bg-gray-200{background-color:rgba(255,255,255,.08)!important}.dash-shell .bg-gray-400{background-color:#64748b!important}.dash-shell .bg-blue-50{background-color:rgba(56,189,248,.12)!important}.dash-shell .bg-blue-100{background-color:rgba(56,189,248,.16)!important}.dash-shell .bg-emerald-50{background-color:rgba(52,211,153,.12)!important}.dash-shell .text-blue-900,.dash-shell .text-gray-800,.dash-shell .text-gray-900{color:var(--d-heading)!important}.dash-shell .text-gray-600,.dash-shell .text-gray-700,.dash-shell .text-slate-600,.dash-shell .text-slate-700{color:var(--d-text)!important}.dash-shell .text-gray-500,.dash-shell .text-slate-500{color:var(--d-muted)!important}.dash-shell .text-gray-300,.dash-shell .text-gray-400,.dash-shell .text-slate-400{color:var(--d-faint)!important}.dash-shell .text-blue-500,.dash-shell .text-blue-600,.dash-shell .text-blue-700,.dash-shell .text-blue-800{color:var(--d-blue)!important}.dash-shell .text-blue-100{color:#cfe8fb!important}.dash-shell .border-gray-100,.dash-shell .border-gray-200,.dash-shell .border-slate-200{border-color:var(--d-border)!important}.dash-shell .border-blue-100,.dash-shell .border-blue-200{border-color:rgba(56,189,248,.22)!important}.dash-shell .divide-gray-100>:not([hidden])~:not([hidden]){border-color:rgba(255,255,255,.08)!important}.dash-shell .from-blue-50{--tw-gradient-from:rgba(56,189,248,0.12) var(--tw-gradient-from-position)!important}.dash-shell .from-slate-50{--tw-gradient-from:rgba(148,163,184,0.1) var(--tw-gradient-from-position)!important}.dash-shell .to-sky-50{--tw-gradient-to:rgba(14,165,233,0.05) var(--tw-gradient-to-position)!important}.dash-shell .to-white{--tw-gradient-to:rgba(255,255,255,0.015) var(--tw-gradient-to-position)!important}.dash-shell .hover\:bg-gray-50:hover{background-color:rgba(255,255,255,.04)!important}.dash-shell .hover\:bg-gray-100:hover{background-color:rgba(255,255,255,.07)!important}.dash-shell .hover\:bg-blue-50:hover{background-color:rgba(56,189,248,.12)!important}.dash-shell .hover\:bg-red-50:hover{background-color:rgba(239,68,68,.12)!important}.dash-shell .hover\:bg-white:hover{background-color:rgba(255,255,255,.08)!important}.dash-shell .hover\:text-blue-600:hover,.dash-shell .hover\:text-blue-800:hover{color:#7dd3fc!important}.dash-shell .hover\:text-gray-600:hover{color:var(--d-heading)!important}.dash-shell label{color:var(--d-text)!important}.dash-shell input,.dash-shell select,.dash-shell textarea{background-color:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)!important;color:#eaf1ff!important}.dash-shell input::placeholder,.dash-shell textarea::placeholder{color:#64748b!important}.dash-shell input:hover,.dash-shell select:hover,.dash-shell textarea:hover{border-color:rgba(56,189,248,.5)!important}.dash-shell input:focus,.dash-shell select:focus,.dash-shell textarea:focus{border-color:var(--d-blue)!important;box-shadow:0 0 0 3px rgba(56,189,248,.18)!important}.dash-shell option{background:#0b1330;color:#eaf1ff}
/* !important needed: Chrome's own `:focus` box-shadow above would otherwise
   win the property (same one, no !important there) and let the native pale
   autofill background show through under our light text — invisible. */.dash-shell input:-webkit-autofill,.dash-shell input:-webkit-autofill:focus,.dash-shell input:-webkit-autofill:hover{-webkit-text-fill-color:#eaf1ff!important;-webkit-box-shadow:inset 0 0 0 1000px #101a33!important;box-shadow:inset 0 0 0 1000px #101a33!important;caret-color:#eaf1ff!important}.dash-shell input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 1000px #101a33,0 0 0 3px rgba(56,189,248,.18)!important;box-shadow:inset 0 0 0 1000px #101a33,0 0 0 3px rgba(56,189,248,.18)!important}.dash-shell .bg-red-50{background-color:rgba(239,68,68,.13)!important}.dash-shell .bg-green-50{background-color:rgba(34,197,94,.13)!important}.dash-shell .bg-yellow-50{background-color:rgba(234,179,8,.14)!important}.dash-shell .bg-green-100{background-color:rgba(34,197,94,.16)!important}.dash-shell .bg-amber-100{background-color:rgba(245,158,11,.16)!important}.dash-shell .bg-pink-100{background-color:rgba(236,72,153,.16)!important}.dash-shell .text-red-700,.dash-shell .text-red-800{color:#fca5a5!important}.dash-shell .text-green-700,.dash-shell .text-green-800{color:#86efac!important}.dash-shell .text-yellow-800{color:#fde047!important}.dash-shell .text-amber-800{color:#fcd34d!important}.dash-shell .text-pink-800{color:#f9a8d4!important}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:rgba(11,19,48,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--d-border);box-shadow:0 -8px 24px rgba(0,0,0,.35);padding:10px 0 max(10px,env(safe-area-inset-bottom));z-index:100;display:flex;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--d-muted);flex:1;max-width:25%}.bottom-nav-item.active{color:var(--d-blue)}.bottom-nav-item-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 16px;border-radius:16px;transition:transform .3s ease,background .3s ease,box-shadow .3s ease}.bottom-nav-item.active .bottom-nav-item-wrapper{transform:translateY(-3px);background:rgba(56,189,248,.14);box-shadow:inset 0 0 0 1px rgba(56,189,248,.22),0 6px 16px rgba(56,189,248,.14)}.bottom-nav-icon{width:22px;height:22px;margin-bottom:4px}.bottom-nav-label{font-size:.7rem;font-weight:500}.bottom-nav-item.active .bottom-nav-label{font-weight:600}.bottom-nav-indicator{width:5px;height:5px;background:var(--d-blue);border-radius:50%;position:absolute;top:-6px;opacity:0;transition:opacity .3s ease}.bottom-nav-item.active .bottom-nav-indicator{opacity:0}.chat-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.chat-scroll::-webkit-scrollbar{width:6px}.chat-scroll::-webkit-scrollbar-track{background:transparent}.chat-scroll::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,.16);border-radius:999px}.chat-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.28)}@keyframes chat-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat-typing-dot{animation:chat-typing-bounce 1.2s ease-in-out infinite}