@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-glass:#11182799;--bg-glass-hover:#1f2937b3;--border-color:#ffffff14;--border-glow:#3b82f633;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--color-primary:#3b82f6;--color-secondary:#8b5cf6;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--color-info:#06b6d4;--gradient-accent:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--gradient-emerald:linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-dark:linear-gradient(180deg, #0b0f19 0%, #111827 100%);--gradient-card:linear-gradient(135deg, #1e293b66 0%, #0f172a99 100%);--font-main:"Plus Jakarta Sans", "Noto Sans KR", sans-serif;--font-accent:"Outfit", sans-serif;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 32px 0 #0000004d;--shadow-glow:0 0 20px #3b82f626;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 10% 20%,#3b82f60d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#8b5cf60d 0%,#0000 45%);height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0000000d}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel:hover{box-shadow:var(--shadow-md), 0 0 25px #3b82f614;border-color:#ffffff26}.glass-card{background:var(--gradient-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;transition:all .3s}.glass-card:hover{border-color:#3b82f64d;transform:translateY(-2px);box-shadow:0 10px 20px #0000004d}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border-color);z-index:10;background:#0a0f1ecc;flex-direction:column;width:260px;padding:1.5rem;display:flex}.main-content{flex-direction:column;flex:1;padding:2rem;display:flex;position:relative;overflow-y:auto}.font-accent{font-family:var(--font-accent)}.btn{border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;color:#white;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 14px #8b5cf666}.btn-primary:hover{box-shadow:0 6px 20px #8b5cf699, var(--shadow-glow);transform:translateY(-1px)}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);background:#ffffff14}.btn-secondary:hover{background:#ffffff26;border-color:#ffffff40}.btn-success{background:var(--gradient-emerald);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.form-input{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-main);background:#0003;outline:none;padding:.6rem 1rem;font-size:.9rem;transition:all .2s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 10px #3b82f633}.data-table-container{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#1118274d;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.data-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#0f172acc;padding:1rem 1.25rem;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid #ffffff0a;padding:1rem 1.25rem}.data-table tbody tr{transition:all .2s}.data-table tbody tr:hover{cursor:pointer;background:#ffffff05}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.mobile-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:99;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:none;position:sticky;top:0}.menu-toggle-btn,.back-toggle-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--text-primary);background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:background .2s;display:flex}.menu-toggle-btn:hover,.back-toggle-btn:hover{background:#ffffff14}.mobile-title{color:#fff;letter-spacing:-.02em;font-size:1rem;font-weight:700}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);z-index:98;background:#000000a6;display:none;position:fixed;inset:0}.sidebar-close-btn{display:none!important}.sectors-themes-grid{flex:1;grid-template-columns:320px 1fr;gap:1.5rem;min-height:0;display:grid}.dashboard-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:1.5rem;display:grid}.mobile-only{display:none!important}@media (width<=768px){body{height:auto;overflow:auto}.app-container{flex-direction:column;width:100vw;height:100vh;overflow:hidden}.mobile-header{display:flex}.sidebar{z-index:100;-webkit-backdrop-filter:blur(20px);width:260px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:-260px;box-shadow:10px 0 30px #00000080;background:#0b0f19fa!important}.sidebar-open .sidebar{transform:translate(260px)}.sidebar-open .sidebar-overlay{display:block}.sidebar-close-btn{display:flex!important}.main-content{flex:1;overflow-y:auto;padding:1rem 1rem 2.5rem!important}.sectors-themes-grid{grid-template-columns:1fr!important;height:auto!important}.dashboard-grid{grid-template-columns:1fr!important}.sectors-themes-grid.item-selected .sectors-list-pane,.sectors-themes-grid:not(.item-selected) .stocks-list-pane{display:none!important}.mobile-only{display:block!important}.mobile-only-inline-block{display:inline-flex!important}.mobile-hide{display:none!important}.glass-panel{border-radius:var(--radius-sm);padding:1rem!important}.glass-card{padding:1rem!important}.btn{padding:.6rem 1rem!important;font-size:.85rem!important}.form-input{padding:.5rem .75rem!important;font-size:.85rem!important}.data-table th,.data-table td{padding:.75rem .5rem!important;font-size:.8rem!important}.recharts-responsive-container{height:300px!important}}
