/*==================================
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:#07131f;

color:#ffffff;

overflow-x:hidden;

min-height:100vh;

position:relative;

}

/*==================================
BACKGROUND
==================================*/

.bg-circle{

position:fixed;

border-radius:50%;

filter:blur(140px);

opacity:.35;

z-index:-1;

}

.bg1{

width:420px;

height:420px;

background:#16a34a;

top:-150px;

left:-120px;

}

.bg2{

width:400px;

height:400px;

background:#2563eb;

bottom:-140px;

right:-120px;

}

/*==================================
CONTAINER
==================================*/

.container{

max-width:1350px;

margin:auto;

padding:50px 20px;

}

/*==================================
MAIN CARD
==================================*/

.calculator-card{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

backdrop-filter:blur(22px);

border-radius:30px;

padding:40px;

box-shadow:

0 20px 60px rgba(0,0,0,.35);

animation:fadeUp .8s ease;

}

/*==================================
HEADER
==================================*/

.hero{

display:flex;

justify-content:space-between;

align-items:center;

gap:30px;

flex-wrap:wrap;

margin-bottom:45px;

}

.hero h1{

font-size:2.4rem;

display:flex;

align-items:center;

gap:15px;

font-weight:700;

}

.hero h1 i{

color:#22c55e;

}

.hero p{

margin-top:12px;

color:#cbd5e1;

line-height:1.8;

max-width:720px;

}

/*==================================
HOME BUTTON
==================================*/

.home-btn{

display:flex;

align-items:center;

gap:10px;

padding:14px 24px;

border-radius:14px;

text-decoration:none;

font-weight:600;

color:#fff;

background:

linear-gradient(135deg,#16a34a,#2563eb);

transition:.35s;

box-shadow:

0 15px 35px rgba(22,163,74,.35);

}

.home-btn:hover{

transform:translateY(-4px);

}

/*==================================
GRID
==================================*/

.calculator-grid{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(260px,1fr));

gap:25px;

margin-bottom:40px;

}

/*==================================
INPUT CARD
==================================*/

.input-card{

display:flex;

flex-direction:column;

gap:12px;

}

.input-card label{

font-weight:600;

display:flex;

align-items:center;

gap:10px;

color:#dbeafe;

}

.input-card label i{

color:#22c55e;

}

.input-card input,

.input-card select{

height:58px;

padding:0 18px;

border-radius:14px;

border:1px solid rgba(255,255,255,.12);

background:rgba(255,255,255,.06);

color:#fff;

font-size:15px;

outline:none;

transition:.3s;

}

.input-card input:focus,

.input-card select:focus{

border-color:#22c55e;

box-shadow:

0 0 18px rgba(34,197,94,.35);

}

.input-card select option{

background:#0f172a;

}

/*==================================
BUTTON GROUP
==================================*/

.button-group{

grid-column:1/-1;

display:flex;

gap:20px;

flex-wrap:wrap;

margin-top:10px;

}

.calculate-btn,

.reset-btn{

flex:1;

height:58px;

border:none;

border-radius:14px;

font-size:16px;

font-weight:600;

cursor:pointer;

display:flex;

align-items:center;

justify-content:center;

gap:12px;

transition:.35s;

color:#fff;

}

.calculate-btn{

background:

linear-gradient(135deg,#16a34a,#22c55e);

box-shadow:

0 15px 35px rgba(34,197,94,.30);

}

.reset-btn{

background:

linear-gradient(135deg,#ef4444,#dc2626);

}

.calculate-btn:hover,

.reset-btn:hover{

transform:translateY(-4px);

box-shadow:

0 20px 40px rgba(0,0,0,.35);

}

/*==================================
RESULT SECTION
==================================*/

.result-section{

display:grid;

grid-template-columns:1.2fr .8fr;

gap:30px;

margin-bottom:40px;

align-items:stretch;

}

.result-card{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

}

.result-item{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

padding:28px;

transition:.35s;

}

.result-item:hover{

transform:translateY(-6px);

box-shadow:

0 20px 45px rgba(22,163,74,.20);

}

.result-item h3{

font-size:15px;

color:#cbd5e1;

margin-bottom:12px;

}

.result-item h2{

font-size:2rem;

font-weight:700;

background:

linear-gradient(135deg,#22c55e,#3b82f6);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

/*==================================
CHART
==================================*/

.chart-card{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

padding:28px;

}

.chart-card h2{

display:flex;

align-items:center;

gap:12px;

margin-bottom:25px;

font-size:1.4rem;

}

.chart-card i{

color:#22c55e;

}

.chart-container{

height:320px;

position:relative;

}

/*==================================
SCHEDULE
==================================*/

.schedule-section{

margin-top:45px;

}

.section-header{

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:20px;

margin-bottom:25px;

}

.section-header h2{

display:flex;

align-items:center;

gap:12px;

font-size:1.7rem;

}

.section-header i{

color:#22c55e;

}

/*==================================
ACTION BUTTONS
==================================*/

.schedule-actions{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.secondary-btn{

padding:13px 20px;

border:none;

border-radius:12px;

cursor:pointer;

background:

linear-gradient(135deg,#2563eb,#22c55e);

color:#fff;

font-weight:600;

display:flex;

align-items:center;

gap:10px;

transition:.35s;

}

.secondary-btn:hover{

transform:translateY(-4px);

}

/*==================================
TABLE
==================================*/

.table-wrapper{

overflow:auto;

border-radius:20px;

border:1px solid rgba(255,255,255,.08);

}

table{

width:100%;

border-collapse:collapse;

min-width:850px;

background:rgba(255,255,255,.04);

}

thead{

background:

linear-gradient(135deg,#16a34a,#2563eb);

}

thead th{

padding:18px;

font-size:15px;

text-align:left;

}

tbody td{

padding:16px;

border-top:1px solid rgba(255,255,255,.08);

color:#dbeafe;

}

tbody tr{

transition:.3s;

}

tbody tr:hover{

background:rgba(255,255,255,.05);

}

/*==================================
INFO SECTION
==================================*/

.info-section{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

margin:45px 0;

}

.info-card{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

padding:28px;

}

.info-card h3{

display:flex;

align-items:center;

gap:10px;

margin-bottom:18px;

font-size:1.3rem;

}

.info-card h3 i{

color:#22c55e;

}

.info-card p{

color:#cbd5e1;

line-height:1.8;

}

.info-card ul{

margin-left:18px;

margin-top:10px;

}

.info-card li{

margin-bottom:12px;

color:#dbeafe;

}

/*==================================
FAQ
==================================*/

.faq-section{

margin-top:40px;

}

.faq-section h2{

margin-bottom:25px;

font-size:2rem;

}

.faq-item{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:18px;

padding:22px;

margin-bottom:18px;

transition:.3s;

}

.faq-item:hover{

border-color:#22c55e;

}

.faq-item h3{

margin-bottom:10px;

font-size:18px;

}

.faq-item p{

color:#cbd5e1;

line-height:1.7;

}

/*==================================
LOADER
==================================*/

.loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(7,19,31,.92);

backdrop-filter:blur(10px);

display:none;

justify-content:center;

align-items:center;

flex-direction:column;

z-index:9999;

}

.spinner{

width:70px;

height:70px;

border:6px solid rgba(255,255,255,.15);

border-top:6px solid #22c55e;

border-radius:50%;

animation:spin 1s linear infinite;

margin-bottom:20px;

}

.loader p{

font-size:18px;

font-weight:600;

color:#ffffff;

}

@keyframes spin{

0%{

transform:rotate(0deg);

}

100%{

transform:rotate(360deg);

}

}

/*==================================
TOAST
==================================*/

.toast{

position:fixed;

right:30px;

bottom:30px;

background:#111827;

color:#fff;

padding:16px 22px;

border-radius:14px;

border:1px solid rgba(255,255,255,.08);

box-shadow:0 15px 35px rgba(0,0,0,.35);

opacity:0;

pointer-events:none;

transform:translateY(25px);

transition:.35s;

z-index:9999;

}

.toast.show{

opacity:1;

pointer-events:auto;

transform:translateY(0);

}

/*==================================
BACK TO TOP
==================================*/

.top-btn{

position:fixed;

right:25px;

bottom:100px;

width:56px;

height:56px;

border:none;

border-radius:50%;

background:

linear-gradient(135deg,#16a34a,#2563eb);

color:#fff;

cursor:pointer;

display:none;

align-items:center;

justify-content:center;

font-size:18px;

transition:.35s;

box-shadow:

0 15px 35px rgba(22,163,74,.35);

z-index:999;

}

.top-btn:hover{

transform:translateY(-5px);

}

/*==================================
FOOTER
==================================*/

.footer{

margin-top:50px;

padding-top:25px;

border-top:1px solid rgba(255,255,255,.08);

text-align:center;

color:#cbd5e1;

font-size:15px;

}

/*==================================
SCROLLBAR
==================================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#0f172a;

}

::-webkit-scrollbar-thumb{

background:

linear-gradient(#16a34a,#2563eb);

border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

background:#22c55e;

}

/*==================================
ANIMATION
==================================*/

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(25px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*==================================
TABLET
==================================*/

@media(max-width:1024px){

.result-section{

grid-template-columns:1fr;

}

.result-card{

grid-template-columns:repeat(3,1fr);

}

.info-section{

grid-template-columns:1fr;

}

.hero{

flex-direction:column;

align-items:flex-start;

}

}

/*==================================
MOBILE
==================================*/

@media(max-width:768px){

.container{

padding:20px 15px;

}

.calculator-card{

padding:22px;

border-radius:22px;

}

.hero h1{

font-size:1.8rem;

}

.result-card{

grid-template-columns:1fr;

}

.button-group{

flex-direction:column;

}

.calculate-btn,

.reset-btn{

width:100%;

}

.schedule-actions{

flex-direction:column;

}

.secondary-btn{

width:100%;

justify-content:center;

}

.home-btn{

width:100%;

justify-content:center;

}

.chart-container{

height:260px;

}

}

/*==================================
SMALL MOBILE
==================================*/

@media(max-width:480px){

.hero h1{

font-size:1.45rem;

}

.hero p{

font-size:14px;

}

.result-item h2{

font-size:1.6rem;

}

.section-header h2{

font-size:1.4rem;

}

.faq-section h2{

font-size:1.6rem;

}

.toast{

left:15px;

right:15px;

bottom:15px;

}

.top-btn{

right:15px;

bottom:90px;

}

}