@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-dark: #0f172a;--bg-card: rgba(30, 41, 59, .7);--text-main: #f8fafc;--text-muted: #94a3b8;--accent: #3b82f6;--accent-hover: #60a5fa;--success: #10b981;--danger: #ef4444;--border: rgba(255, 255, 255, .1);--glass-shadow: 0 4px 30px rgba(0, 0, 0, .1);--glass-backdrop: blur(10px)}.dashboard-grid{position:relative;z-index:1}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,.2) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,.2) 0,transparent 50%);background-attachment:fixed}.glass-panel{background:var(--bg-card);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--border);border-radius:16px;box-shadow:var(--glass-shadow)}@keyframes flashGreen{0%{background-color:#10b98166}to{background-color:transparent}}@keyframes flashRed{0%{background-color:#ef444466}to{background-color:transparent}}:root{--bg-dark: #0f172a;--bg-card: rgba(30, 41, 59, .7);--accent: #3b82f6;--accent-hover: #2563eb;--success: #10b981;--danger: #ef4444;--text-main: #f8fafc;--text-muted: #94a3b8;--border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:var(--bg-dark)}.app-main-layout{display:flex;flex:1;flex-direction:row;width:100%;overflow:hidden;position:relative}.macro-header{width:100%;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:6px 20px;min-height:36px;display:flex;align-items:center;justify-content:center;z-index:1000}.macro-container{max-width:1200px;width:100%;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.5px;font-weight:500}.macro-group{display:flex;align-items:center;gap:16px}.macro-item{display:flex;align-items:center;gap:6px}.macro-label{color:var(--text-muted);text-transform:uppercase}.macro-value{color:var(--text-main)}.macro-variation{display:flex;align-items:center;gap:2px;font-size:10px}.macro-variation.positive{color:var(--success)}.macro-variation.negative{color:var(--danger)}.macro-separator{width:1px;height:12px;background:var(--border)}.macro-header-loading{width:100%;height:36px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--text-muted);border-bottom:1px solid var(--border)}.animate-spin{animation:spin 1s linear infinite}.auth-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background:radial-gradient(circle at top right,#1e293b,#0f172a);padding:20px;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;width:300px;height:300px;background:var(--accent);filter:blur(150px);opacity:.15;top:-100px;right:-100px}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:var(--glass-shadow)}.auth-card{width:100%;max-width:420px;padding:40px;border-radius:24px;display:flex;flex-direction:column;gap:24px}.auth-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.auth-header h2{font-size:28px;font-weight:700;margin:0}.auth-header p{color:var(--text-muted);margin:0;font-size:15px}.auth-footer{text-align:center;font-size:14px;color:var(--text-muted)}.auth-footer span{color:var(--accent);cursor:pointer;font-weight:600;margin-left:4px}.auth-footer span:hover{text-decoration:underline}.sidebar{width:320px;padding:20px;display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--border);background:#0f172ae6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1001;transition:transform .3s cubic-bezier(.4,0,.2,1)}.main-content{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;cursor:pointer;transition:all .2s;color:var(--text-muted)}.nav-item:hover,.nav-item.active{background:#ffffff0d;color:#fff}.nav-item.active{color:var(--accent);background:#3b82f61a}.watchlist-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:8px;border:1px solid transparent}.watchlist-item:hover{background:#ffffff0d;transform:translateY(-2px)}.watchlist-item.active{background:#3b82f614;border-color:#3b82f64d}.input-group{position:relative;width:100%;margin-bottom:16px}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.input-group input{width:100%;padding:14px 14px 14px 48px;border-radius:12px;background:#ffffff0d;border:1px solid var(--border);color:#fff;font-size:15px;transition:all .2s;outline:none}.input-group input:focus{border-color:var(--accent);background:#ffffff1a}.btn-group{display:flex;gap:16px}.btn{width:100%;background:var(--accent);color:#fff;border:none;padding:14px;border-radius:12px;cursor:pointer;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-main)}.btn-outline:hover{background:#ffffff1a}.auth-error{background:#ef44441a;color:var(--danger);padding:12px;border-radius:8px;font-size:14px;border:1px solid rgba(239,68,68,.2);text-align:center;margin-bottom:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#020611d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease-out}.modal-content{width:100%;max-width:480px;padding:32px;border-radius:28px;background:#1e293bb3;box-shadow:0 25px 50px -12px #00000080;animation:modalScaleUp .3s cubic-bezier(.34,1.56,.64,1)}.input-field{width:100%!important;padding:14px 18px!important;border-radius:12px!important;background:#ffffff08!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;font-size:15px!important;transition:all .2s!important;outline:none!important;margin-bottom:20px!important}.input-field:focus{border-color:var(--accent)!important;background:#ffffff14!important;box-shadow:0 0 0 4px #3b82f626!important}select.input-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:48px}select.input-field option{background:var(--bg-dark);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.change-positive{color:var(--success)}.change-negative{color:var(--danger)}.flash-green{animation:flashGreen 1s ease-out}.flash-red{animation:flashRed 1s ease-out}@keyframes flashGreen{0%{background:#10b98133}to{background:transparent}}@keyframes flashRed{0%{background:#ef444433}to{background:transparent}}.toast-container{position:fixed;bottom:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px}.toast{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-left:4px solid var(--accent);padding:16px;border-radius:12px;display:flex;align-items:center;gap:12px;animation:slideIn .3s ease-out forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.mobile-header{display:none;padding:12px 20px;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);align-items:center;justify-content:space-between;z-index:1000}.menu-toggle{background:transparent;border:none;color:#fff;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s}.menu-toggle:hover{background:#ffffff1a}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .3s ease-out}@media (max-width: 1024px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);box-shadow:20px 0 50px #00000080}.sidebar.open{transform:translate(0)}.sidebar-overlay.active{display:block}.mobile-header{display:flex}.app-main-layout{flex-direction:column}.main-content{padding:16px}}@media (max-width: 768px){.hide-mobile{display:none!important}.main-content header{flex-direction:column;align-items:flex-start!important;gap:16px}.main-content header .btn-group{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.main-content header .btn-group .btn{padding:10px;font-size:13px}.macro-container{flex-direction:column;gap:8px;align-items:center}.macro-group{width:100%;justify-content:center;gap:12px}.macro-item{font-size:10px}.chart-widget{padding:16px!important}.chart-widget h3{font-size:16px}.modal-content{padding:24px;margin:10px}.toast-container{left:20px;right:20px;bottom:20px}}.portfolio-summary-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:center}@media (max-width: 768px){.portfolio-summary-grid{grid-template-columns:1fr;gap:16px}}@media (max-width: 480px){.macro-header{padding:10px;height:auto}.macro-container{gap:12px}.main-content header .btn-group{grid-template-columns:1fr;gap:8px}.btn{padding:12px;font-size:14px}.btn-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-card{padding:24px}}.smart-info-container{margin-top:20px;padding:24px;position:relative;overflow:hidden;border:1px solid rgba(99,102,241,.2);background:linear-gradient(135deg,#0f172a99,#1e293b66);border-radius:16px}.smart-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.smart-info-title{display:flex;align-items:center;gap:12px}.smart-info-icon-wrapper{width:36px;height:36px;border-radius:10px;background:#6366f11a;display:flex;align-items:center;justify-content:center;border:1px solid rgba(99,102,241,.2)}.smart-info-refresh-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.smart-info-refresh-btn:hover{background:#ffffff0d;color:var(--accent)}.smart-info-content{min-height:100px}.smart-info-text{font-size:14px;line-height:1.6;color:#e2e8f0}.smart-info-text p{margin-bottom:12px}.smart-info-text h1,.smart-info-text h2,.smart-info-text h3{margin-top:16px;margin-bottom:8px;color:#fff}.smart-info-text ul,.smart-info-text ol{margin-left:20px;margin-bottom:12px}.smart-info-text strong{color:#fff}.smart-info-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 0;color:var(--text-muted);text-align:center}.smart-info-sparkle-icon{color:var(--accent);animation:sparkle 2s infinite ease-in-out}.smart-info-pulse-ring{position:absolute;width:60px;height:60px;border:2px solid var(--accent);border-radius:50%;animation:pulse-ring 2s infinite;opacity:0}.smart-info-footer{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.smart-info-error{display:flex;align-items:center;gap:12px;color:var(--danger);padding:20px;background:#ef44441a;border-radius:12px}@keyframes sparkle{0%,to{transform:scale(1);opacity:1;filter:blur(0px)}50%{transform:scale(1.2);opacity:.7;filter:blur(1px)}}@keyframes pulse-ring{0%{transform:scale(.5);opacity:.5}to{transform:scale(1.5);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}
