
body{
background:#f3f6fb;
font-family:"Segoe UI",Arial,sans-serif;
}

.container-fluid{
max-width:1500px;
}

.nav-tabs{
border-bottom:none;
}

.nav-link{
border:none!important;
border-radius:10px 10px 0 0!important;
padding:12px 22px;
font-weight:600;
color:#555;
}

.nav-link.active{
background:#0d6efd!important;
color:#fff!important;
}

.tab-content{
margin-top:10px;
}

.app-card{
border:none;
border-radius:14px;
box-shadow:0 6px 20px rgba(0,0,0,.08);
overflow:hidden;
}

.card-header{
background:#0d6efd;
color:#fff;
padding:18px 24px;
border:none;
}

.card-body{
padding:24px;
}

.form-control,.form-select{
border-radius:8px;
padding:10px;
}

.btn{
border-radius:8px;
font-weight:600;
}

.output-box{
background:#1f2937;
color:#8ef58e;
border-radius:10px;
min-height:180px;
padding:15px;
}

#reportTableContainer,
#addressList,
#sp_reportTableContainer{
background:#fff;
border:1px solid #e5e5e5;
border-radius:10px;
padding:15px;
min-height:100px;
}

.pdf-loader-overlay{
position:fixed;
inset:0;
display:flex;
justify-content:center;
align-items:center;
background:rgba(255,255,255,.75);
z-index:9999;
}

.pdf-loader-box{
background:#fff;
padding:25px;
border-radius:12px;
text-align:center;
box-shadow:0 8px 25px rgba(0,0,0,.15);
}

.spinner{
width:55px;
height:55px;
margin:auto;
border:5px solid #ddd;
border-top:5px solid #0d6efd;
border-radius:50%;
animation:spin 1s linear infinite;
}

.loader-text{
margin-top:15px;
font-weight:600;
}

@keyframes spin{
to{transform:rotate(360deg);}
}
