/* ===================================
GOOGLE FONT
=================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ===================================
RESET
=================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:linear-gradient(135deg,#0f172a,#1e1b4b,#312e81);

color:#fff;

min-height:100vh;

overflow-x:hidden;

position:relative;

}

/* ===================================
BACKGROUND GLOW
=================================== */

.bg-circle{

position:fixed;

border-radius:50%;

filter:blur(90px);

opacity:.35;

z-index:-1;

}

.bg1{

width:320px;

height:320px;

background:#8b5cf6;

top:-100px;

left:-100px;

}

.bg2{

width:420px;

height:420px;

background:#2563eb;

bottom:-150px;

right:-120px;

}

/* ===================================
CONTAINER
=================================== */

.container{

width:min(1200px,92%);

margin:auto;

padding:45px 0;

}

/* ===================================
MAIN CARD
=================================== */

.calculator-card{

background:rgba(255,255,255,.08);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.12);

border-radius:26px;

padding:35px;

box-shadow:

0 15px 50px rgba(0,0,0,.35);

}

/* ===================================
HEADER
=================================== */

.hero{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

margin-bottom:35px;

flex-wrap:wrap;

}

.hero h1{

font-size:2.2rem;

font-weight:700;

display:flex;

align-items:center;

gap:12px;

color:#f8fafc;

}

.hero p{

margin-top:12px;

line-height:1.8;

color:#d1d5db;

max-width:700px;

}

/* ===================================
HOME BUTTON
=================================== */

.home-btn{

text-decoration:none;

background:linear-gradient(135deg,#8b5cf6,#2563eb);

color:#fff;

padding:12px 22px;

border-radius:14px;

font-weight:600;

display:flex;

align-items:center;

gap:10px;

transition:.3s;

}

.home-btn:hover{

transform:translateY(-3px);

box-shadow:0 10px 25px rgba(37,99,235,.35);

}

/* ===================================
GRID
=================================== */

.calculator-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:22px;

margin-top:30px;

}

/* ===================================
INPUT CARD
=================================== */

.input-card{

display:flex;

flex-direction:column;

gap:10px;

}

.input-card label{

font-weight:600;

display:flex;

align-items:center;

gap:8px;

color:#f8fafc;

}

.input-card input{

width:100%;

padding:15px;

border:none;

outline:none;

border-radius:14px;

background:rgba(255,255,255,.12);

color:#fff;

font-size:1rem;

transition:.3s;

}

.input-card input::placeholder{

color:#cbd5e1;

}

.input-card input:focus{

border:1px solid #8b5cf6;

box-shadow:0 0 15px rgba(139,92,246,.35);

}

/* ===================================
BUTTONS
=================================== */

.button-group{

grid-column:1/-1;

display:flex;

gap:15px;

margin-top:15px;

flex-wrap:wrap;

}

.calculate-btn,
.reset-btn,
.secondary-btn{

border:none;

outline:none;

cursor:pointer;

padding:15px 28px;

border-radius:14px;

font-size:1rem;

font-weight:600;

transition:.3s;

display:flex;

align-items:center;

justify-content:center;

gap:10px;

}

.calculate-btn{

background:linear-gradient(135deg,#8b5cf6,#2563eb);

color:#fff;

flex:1;

}

.calculate-btn:hover{

transform:translateY(-3px);

box-shadow:0 12px 30px rgba(99,102,241,.45);

}

.reset-btn{

background:rgba(255,255,255,.12);

color:#fff;

}

.reset-btn:hover{

background:rgba(255,255,255,.18);

}

.secondary-btn{

background:rgba(255,255,255,.10);

color:#fff;

padding:12px 18px;

}

.secondary-btn:hover{

background:#8b5cf6;

}

/* ===================================
RESULT SECTION
=================================== */

.result-section{

margin-top:45px;

}

.result-card{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:22px;

}

.result-item{

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.12);

border-radius:20px;

padding:25px;

text-align:center;

transition:.35s;

backdrop-filter:blur(12px);

}

.result-item:hover{

transform:translateY(-6px);

box-shadow:0 15px 35px rgba(0,0,0,.25);

}

.result-item h3{

font-size:.95rem;

font-weight:500;

color:#cbd5e1;

margin-bottom:12px;

}

.result-item h2{

font-size:2rem;

font-weight:700;

color:#ffffff;

word-break:break-word;

}

/* ===================================
CHART CARD
=================================== */

.chart-card{

margin-top:40px;

background:rgba(255,255,255,.08);

border-radius:22px;

padding:25px;

border:1px solid rgba(255,255,255,.12);

}

.chart-card h2{

margin-bottom:20px;

display:flex;

align-items:center;

gap:10px;

font-size:1.3rem;

}

.chart-container{

position:relative;

width:100%;

height:420px;

}

/* ===================================
TABLE SECTION
=================================== */

.table-section{

margin-top:45px;

}

.section-header{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

margin-bottom:20px;

flex-wrap:wrap;

}

.section-header h2{

font-size:1.4rem;

display:flex;

align-items:center;

gap:10px;

}

.table-actions{

display:flex;

gap:12px;

flex-wrap:wrap;

}

.table-wrapper{

overflow-x:auto;

border-radius:18px;

}

table{

width:100%;

border-collapse:collapse;

background:rgba(255,255,255,.08);

backdrop-filter:blur(12px);

overflow:hidden;

}

thead{

background:rgba(139,92,246,.35);

}

thead th{

padding:18px;

font-weight:600;

text-align:center;

}

tbody td{

padding:16px;

text-align:center;

border-top:1px solid rgba(255,255,255,.08);

}

tbody tr{

transition:.25s;

}

tbody tr:hover{

background:rgba(255,255,255,.06);

}

/* ===================================
INFO SECTION
=================================== */

.info-section{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:25px;

margin-top:50px;

}

.info-card{

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.12);

border-radius:20px;

padding:25px;

backdrop-filter:blur(15px);

transition:.3s;

}

.info-card:hover{

transform:translateY(-5px);

box-shadow:0 15px 35px rgba(0,0,0,.25);

}

.info-card h3{

display:flex;

align-items:center;

gap:10px;

margin-bottom:15px;

font-size:1.2rem;

}

.info-card p{

color:#d1d5db;

line-height:1.8;

}

.info-card ul{

padding-left:20px;

margin-top:10px;

}

.info-card li{

margin-bottom:10px;

color:#d1d5db;

}

/* ===================================
FAQ
=================================== */

.faq-section{

margin-top:60px;

}

.faq-section h2{

text-align:center;

margin-bottom:30px;

font-size:2rem;

}

.faq-item{

background:rgba(255,255,255,.08);

border-radius:18px;

padding:22px;

margin-bottom:18px;

border:1px solid rgba(255,255,255,.12);

transition:.3s;

}

.faq-item:hover{

background:rgba(255,255,255,.12);

}

.faq-item h3{

margin-bottom:12px;

font-size:1.1rem;

}

.faq-item p{

line-height:1.8;

color:#d1d5db;

}

/* ===================================
LOADER
=================================== */

.loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

display:none;

justify-content:center;

align-items:center;

flex-direction:column;

gap:20px;

background:rgba(15,23,42,.9);

backdrop-filter:blur(10px);

z-index:9999;

}

.spinner{

width:70px;

height:70px;

border:6px solid rgba(255,255,255,.2);

border-top:6px solid #8b5cf6;

border-radius:50%;

animation:spin 1s linear infinite;

}

@keyframes spin{

100%{

transform:rotate(360deg);

}

}

/* ===================================
TOAST
=================================== */

.toast{

position:fixed;

right:30px;

bottom:30px;

background:#8b5cf6;

color:#fff;

padding:16px 24px;

border-radius:14px;

font-weight:600;

opacity:0;

visibility:hidden;

transform:translateY(20px);

transition:.35s;

z-index:9999;

}

.toast.show{

opacity:1;

visibility:visible;

transform:translateY(0);

}

/* ===================================
BACK TO TOP
=================================== */

.top-btn{

position:fixed;

right:30px;

bottom:100px;

width:55px;

height:55px;

border:none;

border-radius:50%;

display:none;

align-items:center;

justify-content:center;

cursor:pointer;

background:linear-gradient(135deg,#8b5cf6,#2563eb);

color:#fff;

font-size:1.2rem;

box-shadow:0 10px 25px rgba(0,0,0,.3);

transition:.3s;

}

.top-btn:hover{

transform:translateY(-5px);

}

/* ===================================
FOOTER
=================================== */

.footer{

margin-top:60px;

text-align:center;

padding:25px;

color:#cbd5e1;

font-size:.95rem;

border-top:1px solid rgba(255,255,255,.1);

}

/* ===================================
SCROLLBAR
=================================== */

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#111827;

}

::-webkit-scrollbar-thumb{

background:#8b5cf6;

border-radius:10px;

}

::-webkit-scrollbar-thumb:hover{

background:#7c3aed;

}

/* ===================================
RESPONSIVE
=================================== */

@media(max-width:992px){

.hero{

flex-direction:column;

align-items:flex-start;

}

.chart-container{

height:350px;

}

}

@media(max-width:768px){

.calculator-card{

padding:22px;

}

.hero h1{

font-size:1.8rem;

}

.result-item h2{

font-size:1.6rem;

}

.button-group{

flex-direction:column;

}

.calculate-btn,

.reset-btn{

width:100%;

}

.table-actions{

width:100%;

}

.secondary-btn{

flex:1;

}

.chart-container{

height:300px;

}

}

@media(max-width:480px){

.container{

width:95%;

}

.hero h1{

font-size:1.5rem;

}

.info-section{

grid-template-columns:1fr;

}

.chart-container{

height:250px;

}

.top-btn{

width:50px;

height:50px;

right:20px;

bottom:90px;

}

.toast{

left:15px;

right:15px;

bottom:20px;

text-align:center;

}

}

/* ===================================
END OF FILE
=================================== */