/* ===============================
   stock.css - PART 1
================================ */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins,sans-serif;
}

body{

background:#0f172a;

color:#fff;

line-height:1.5;

padding:25px;

}

.container{

max-width:1400px;

margin:auto;

}

.hero{

background:linear-gradient(135deg,#2563eb,#7c3aed);

padding:40px;

border-radius:20px;

text-align:center;

margin-bottom:30px;

box-shadow:0 10px 30px rgba(0,0,0,.3);

}

.hero h1{

font-size:38px;

font-weight:700;

margin-bottom:10px;

}

.hero p{

font-size:18px;

opacity:.9;

margin-bottom:30px;

}

.search{

display:flex;

justify-content:center;

gap:15px;

flex-wrap:wrap;

}

.search input{

width:420px;

max-width:100%;

padding:15px;

border:none;

outline:none;

border-radius:12px;

font-size:17px;

}

.search button{

padding:15px 35px;

border:none;

border-radius:12px;

background:#22c55e;

color:white;

font-size:17px;

font-weight:bold;

cursor:pointer;

transition:.3s;

}

.search button:hover{

background:#16a34a;

transform:translateY(-3px);

}

.loading{

display:none;

margin:20px auto;

width:60px;

height:60px;

border-radius:50%;

border:6px solid #334155;

border-top:6px solid #22c55e;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

.card{

background:#1e293b;

margin-top:25px;

padding:25px;

border-radius:18px;

box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.card h2{

margin-bottom:20px;

font-size:26px;

color:#38bdf8;

}

.grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:20px;

}

.item{

background:#334155;

padding:18px;

border-radius:15px;

transition:.3s;

}
/* ===============================
   stock.css - PART 2
================================ */

.card{
position:relative;
overflow:hidden;
}

.card::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:4px;
background:linear-gradient(90deg,#22c55e,#3b82f6,#a855f7);
}

.item{
border:1px solid rgba(255,255,255,.06);
backdrop-filter:blur(8px);
}

.item h3{
word-break:break-word;
}

.search input:focus{
box-shadow:0 0 15px rgba(59,130,246,.5);
}

.search button:active{
transform:scale(.97);
}

table{
overflow-x:auto;
display:block;
white-space:nowrap;
}

table::-webkit-scrollbar{
height:8px;
}

table::-webkit-scrollbar-thumb{
background:#2563eb;
border-radius:20px;
}

canvas:hover{
box-shadow:0 0 25px rgba(34,197,94,.25);
transition:.4s;
}

#analysis{
border-left:5px solid #22c55e;
}

#analysis strong{
color:#38bdf8;
}

.status-buy{
display:inline-block;
padding:8px 18px;
border-radius:30px;
background:#22c55e;
color:#fff;
font-weight:bold;
}

.status-hold{
display:inline-block;
padding:8px 18px;
border-radius:30px;
background:#f59e0b;
color:#fff;
font-weight:bold;
}

.status-sell{
display:inline-block;
padding:8px 18px;
border-radius:30px;
background:#ef4444;
color:#fff;
font-weight:bold;
}

.export-buttons{
display:flex;
gap:15px;
margin-top:20px;
flex-wrap:wrap;
}

.export-buttons button{
padding:14px 25px;
border:none;
border-radius:10px;
cursor:pointer;
font-weight:600;
transition:.3s;
background:#2563eb;
color:#fff;
}

.export-buttons button:hover{
transform:translateY(-4px);
background:#1d4ed8;
}

.badge{
display:inline-block;
padding:5px 10px;
border-radius:20px;
font-size:12px;
font-weight:bold;
background:#334155;
}

.badge.green{
background:#16a34a;
color:#fff;
}

.badge.red{
background:#dc2626;
color:#fff;
}

.badge.orange{
background:#d97706;
color:#fff;
}

footer{
margin-top:40px;
padding:20px;
text-align:center;
opacity:.7;
font-size:14px;
}

::-webkit-scrollbar{
width:10px;
height:10px;
}

::-webkit-scrollbar-track{
background:#111827;
}

::-webkit-scrollbar-thumb{
background:#334155;
border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
background:#475569;
}

.fade-in{
animation:fadeIn .5s ease;
}

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(15px);
}
to{
opacity:1;
transform:translateY(0);
}
}

.pulse{
animation:pulse 1.5s infinite;
}

@keyframes pulse{
0%{
transform:scale(1);
}
50%{
transform:scale(1.04);
}
100%{
transform:scale(1);
}
}

.shadow-green{
box-shadow:0 0 20px rgba(34,197,94,.25);
}

.shadow-red{
box-shadow:0 0 20px rgba(239,68,68,.25);
}

.shadow-blue{
box-shadow:0 0 20px rgba(59,130,246,.25);
}

@media(max-width:1200px){

.grid{
grid-template-columns:repeat(3,1fr);
}

}

@media(max-width:900px){

.hero h1{
font-size:30px;
}

.grid{
grid-template-columns:repeat(2,1fr);
}

.card{
padding:18px;
}

.score h1{
font-size:55px;
}

}

@media(max-width:700px){

body{
padding:15px;
}

.hero{
padding:25px;
}

.hero h1{
font-size:25px;
}

.hero p{
font-size:15px;
}

.search{
flex-direction:column;
}

.search input{
width:100%;
}

.search button{
width:100%;
}

.grid{
grid-template-columns:1fr;
}

.item h3{
font-size:18px;
}

.card h2{
font-size:20px;
}

.score h1{
font-size:42px;
}

.score h2{
font-size:22px;
}

canvas{
padding:10px;
}

}

@media print{

body{
background:#fff;
color:#000;
}

.hero,
.search,
button{
display:none;
}

.card{
box-shadow:none;
border:1px solid #ccc;
page-break-inside:avoid;
}

canvas{
display:none;
}

}
