*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Segoe UI',sans-serif;
}
*{

transition:

background .25s,

color .25s,

border-color .25s,

box-shadow .25s;

}

body{
    font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;
    background:linear-gradient(135deg,#FCFDFB,#F4F9F6);
    min-height:100vh;
    overflow-x:hidden;
    color:#1E293B;
    position:relative;
}

/* LOGIN PAGE */

.login-page{
     min-height:100vh;
    display:grid;
    grid-template-columns:58% 42%;
    align-items:center;
    overflow:hidden;
    position:relative;
     background:linear-gradient(
        135deg,
        #FFFFFF 0%,
        #FAFCFB 50%,
        #F4F8F6 100%
    );
      gap:40px;
}

.login-page::before{
    content:"";
    position:absolute;
    width:340px;
    height:340px;
    background:rgba(22,89,70,.05);
    border-radius:50%;
    left:-120px;
    top:-120px;
}

.login-page::after{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    background:rgba(228,183,8,.08);
    border-radius:50%;
    right:-100px;
    bottom:-100px;
}


.login-page .bg-icon{
    position:absolute;
    color:#165946;
    opacity:.05;
    pointer-events:none;
    z-index:0;
    transition:.3s;
}


/*==========================
BACKGROUND GLOW
==========================*/

.bg-circle{

    position:absolute;

    border-radius:50%;

    filter:blur(90px);

    opacity:.45;

    pointer-events:none;

    z-index:0;
  
    animation: glowMove 14s ease-in-out infinite alternate;

}
@keyframes glowMove{

0%{
transform:translate(0,0) scale(1);
}

50%{
transform:translate(30px,-25px) scale(1.08);
}

100%{
transform:translate(-20px,20px) scale(.96);
}

}

.bg1{
     width:450px;

    height:450px;

    background:radial-gradient(circle,
    rgba(187,247,208,.70) 0%,
    rgba(220,252,231,.45) 45%,
    rgba(255,255,255,0) 100%);

    top:-120px;

    left:-100px;

    animation:floatOne 9s ease-in-out infinite;
	
   opacity:.45;

}

/* Top Right */

.bg2{
   width:400px;

    height:400px;

    background:#FEF3C7;

    right:-90px;

    bottom:-80px;

    animation:floatTwo 11s ease-in-out infinite;
 	opacity:.45;
}



.login-box::before{

 content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:5px;

    background:linear-gradient(
    90deg,
    #165946,
    #E4B708
    );


}

.left{
    padding:70px;
    position:relative;
    z-index:2;
}



.left img{
width:320px;
max-width:100%;
margin-bottom:30px;
z-index:2;
}

.left h1{

     font-size:54px;
    line-height:1.1;
    color:#1E293B;
    font-weight:800;
    margin-bottom:18px;

}
.left h1 span{

background:linear-gradient(
90deg,
#165946,
#E4B708
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

}

.right{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px;
    z-index:2;
}


.brand{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:35px;
    position:relative;	
}

.brand::before{

content:"";

position:absolute;

width:220px;

height:220px;

background:radial-gradient(

circle,

rgba(228,183,8,.18),

transparent 70%

);

left:-40px;

top:-40px;

animation:pulseLight 6s ease-in-out infinite;

z-index:-1;

}

@keyframes pulseLight{

0%,100%{

transform:scale(1);

opacity:.4;

}

50%{

transform:scale(1.25);

opacity:.8;

}

}

.brand-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 16px;

    background:#ECFDF5;
    color:#165946;

    border-radius:50px;

    font-size:13px;
    font-weight:600;
}

.brand-badge i{
    color:#D8B31C;
}



.login-box{

   width:100%;
    max-width:470px;

    padding:50px;

   background:
rgba(255,255,255,.92);

    border-radius:28px;

    border-top:4px solid transparent;

    box-shadow:
    0 25px 60px rgba(15,71,56,.12),
    0 8px 20px rgba(0,0,0,.05);

    position:relative;

    transition:.35s;
	
    border-image:
	linear-gradient(
	90deg,
	#165946,
	#E4B708
	) 1;	

backdrop-filter:blur(18px);
animation:cardFloat 5s ease-in-out infinite;

}
@keyframes cardFloat{

0%,100%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

}


.login-avatar{

    width:78px;

    height:78px;

    margin:0 auto 22px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(135deg,#165946,#0F4738);

    color:#fff;

    font-size:32px;

    box-shadow:0 12px 30px rgba(22,89,70,.30);
}



@keyframes loginFade{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.login-box h2{

    text-align:center;

    font-size:30px;

    color:#1E293B;

    margin-bottom:8px;

    font-weight:700;

}

.login-box:hover{

    transform:translateY(-4px);

    box-shadow:
    0 28px 70px rgba(15,71,56,.16);

}

.login-logo{
    width:260px;
    max-width:100%;
    margin-bottom:28px;
    object-fit:contain;
    animation:logoFloat 5s ease-in-out infinite;
}

@keyframes logoFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}

}
.login-page::before{

animation:floatOne 10s infinite alternate ease-in-out;

}

.login-page::after{

animation:floatTwo 12s infinite alternate ease-in-out;

}

/* Floating Animation */

@keyframes floatOne{

       0%,100%{
        transform:translateY(0) translateX(0);
    }

    50%{
        transform:translateY(35px) translateX(20px);
    }

}

@keyframes floatTwo{

    0%,100%{
        transform:translateY(0) translateX(0);
    }

    50%{
        transform:translateY(-30px) translateX(-25px);
    }

}

.feature-item{

    transition:.35s;
}

.feature-item:hover{

    transform:
	translateY(-8px);

    box-shadow:
    0 20px 40px rgba(22,89,70,.15);

    border-color:#E4B708;
}

.feature-icon{

    transition:.35s;
}

.feature-item:hover .feature-icon{

    transform:rotate(-10deg) scale(1.08);
}






.btn i{

margin-right:8px;

}
::selection{

background:#165946;

color:#fff;

}




@media(max-width:480px){

.login-logo{

width:150px;

}

.left h1{

font-size:24px;

}

.login-tagline{

font-size:14px;

}

.login-box{

padding:24px 18px;

}

.login-box h2{

font-size:24px;

}

.modal-box{

padding:20px;

}

}

.modal .btn{

margin-top:8px;

height:56px;

}

.modal-box h2{

font-size:30px;

font-weight:800;

color:#165946;

margin-bottom:10px;

}

.input-group{
margin-bottom:0;
position:relative;
}

.input-group input,
.input-group textarea,
.input-group select{
width:100%;
padding:16px;
border:none;
outline:none;
background:#f8fafc;
border-radius:16px;
font-size:15px;
transition:.3s;
}

.input-group input:focus,
.input-group textarea:focus,
.input-group select:focus{
background:#fff;
box-shadow:0 0 0 3px rgba(79,70,229,.15);
}

textarea{
resize:none;
height:120px;
}

.eye-btn{
 position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    cursor:pointer;

    color:#64748B;
}

.eye-btn:hover{

    color:#165946;

}


.btn{
   width:100%;

    height:56px;

    border:none;

    border-radius:14px;

 background: linear-gradient(
        135deg,
        #165946,
        #1C6B54,
        #D6A500
    ) !important;

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.35s;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    overflow:hidden;

    position:relative;
}

.btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:45%;

    height:100%;

     background: linear-gradient(
        135deg,
        #165946,
        #1C6B54,
        #D6A500
    ) !important;

   transition:.8s;
 	
   transform:skewX(-30deg);

}

.btn:hover::before{

    left:140%;
}

.btn:hover{
    background: linear-gradient(
        135deg,
        #165946,
        #1C6B54,
        #D6A500
    ) !important;

    color:#fff !important;

    border-color: transparent !important;

    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(22,89,70,.25);
} 

.btn:active{

    transform:scale(.98);

}

/* SIDEBAR */

.sidebar{
position:fixed;
left:0;
top:0;
width:280px;
height:100vh;
background:rgba(255,255,255,.55);
backdrop-filter:blur(15px);
padding:30px;
overflow:auto;
border-right:1px solid rgba(255,255,255,.2);
box-shadow:0 0 20px rgba(0,0,0,.05);
z-index:999;
}

.logo{
font-size:32px;
font-weight:900;
margin-bottom:40px;
color:#4f46e5;
letter-spacing:1px;
}

.menu a{
display:flex;
align-items:center;
gap:12px;
padding:16px;
margin-bottom:12px;
border-radius:16px;
text-decoration:none;
color:#334155;
font-weight:600;
transition:.3s;
}

.menu a:hover,
.menu a.active{
background: linear-gradient(135deg,
    #1B6A53 0%,
    #3F8F6E 45%,
    #D8C85A 75%,
    #F2E48A 100%);
color:#fff;
transform:translateX(4px);
}

/* CONTENT */

.content{
margin-left:300px;
padding:30px;
}

.topbar{

    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:30px;

    padding:32px 36px;

    background:linear-gradient(135deg,#ffffff 0%,#fcfdfc 45%,#f5fbf7 100%);
    border:1px solid #eef3ef;
    border-radius:24px;

    overflow:hidden;

    box-shadow:
    0 12px 35px rgba(22,89,70,.08);
    
     margin-bottom:15px;

}

.topbar-info{
   display:flex;

    gap:15px;

    margin-top:20px;

    position:relative;

    z-index:2;
}

/* Left Section */

.topbar > div:first-child{
     margin-left:8px;

    position:relative;

    z-index:2;
}

/* Decorative Background */

.topbar::before{

content:"";

    position:absolute;

    left:-5%;
    right:-5%;

    bottom:-65px;

    height:180px;

    background:
    radial-gradient(ellipse at 15% 100%, rgba(72,187,120,.10) 0%, transparent 55%),
    radial-gradient(ellipse at 45% 100%, rgba(34,197,94,.08) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 100%, rgba(16,185,129,.10) 0%, transparent 55%);

    z-index:0;
}

/* Green Wave */

.sparkles::before{
    content:"";

    position:absolute;

    right:120px;
    bottom:10px;

    width:280px;
    height:130px;

    background:radial-gradient(circle,
        rgba(34,197,94,.10) 0%,
        rgba(34,197,94,.05) 45%,
        transparent 75%);

    border-radius:50%;

    filter:blur(10px);

    z-index:0;
}
/* Gold Line */

.sparkles::after{
    content:"";

    position:absolute;

    right:90px;
    bottom:0;

    width:340px;
    height:140px;

    background:linear-gradient(
        135deg,
        rgba(22,89,70,.05),
        rgba(34,197,94,.03)
    );

    border-radius:55% 45% 60% 40% / 45% 60% 40% 55%;

    filter:blur(2px);

    z-index:-1;
}


.sparkles{

position:absolute;

right:240px;

top:60px;

width:170px;

height:80px;

pointer-events:none;

opacity:.45;
}

.sparkles span{

 position:absolute;

    width:6px;

    height:6px;

    border-radius:50%;

    background:#d8ab0a;

      opacity:.95;

     box-shadow:0 0 10px rgba(228,183,8,.6);

    animation:blink 3s infinite;
}

.sparkles span:nth-child(2){

left:40px;
top:30px;
animation-delay:.5s;

}

.sparkles span:nth-child(3){

left:90px;
top:10px;
animation-delay:1s;

}

.sparkles span:nth-child(4){

left:130px;
top:40px;
animation-delay:1.5s;

}

@keyframes blink{

50%{

opacity:.2;
transform:scale(.6);

}

}

/* Waves */



.topbar::after{
    content:"";
    position:absolute;

    right:65px;          /* Profile પહેલાં શરૂ થશે */
    bottom:18px;

    width:42%;
    height:170px;

    pointer-events:none;
    z-index:0;

    background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 220'%3E\
%3Cpath d='M0 150 C120 70 240 210 360 130 C470 70 570 180 700 110' fill='none' stroke='%23165946' stroke-opacity='0.07' stroke-width='2'/%3E\
%3Cpath d='M0 170 C120 90 250 220 390 145 C520 85 610 200 700 145' fill='none' stroke='%2322c55e' stroke-opacity='0.08' stroke-width='2'/%3E\
%3Cpath d='M0 190 C150 120 280 210 420 170 C540 130 620 190 700 170' fill='none' stroke='%2386efac' stroke-opacity='0.12' stroke-width='2'/%3E\
%3C/svg%3E")
    no-repeat center center;

    background-size:100% 100%;
}

.welcome-text{
   display:flex;
    flex-direction:column;
}

.welcome-text h2{

    margin:0;
    font-size:34px;
    font-weight:700;
    line-height:1.15;
    letter-spacing:-0.5px;
    color:#184d42;
}

/* Premium Gradient Name */

.user-name{
    background:linear-gradient(135deg,#165946 0%,#2d8d68 40%,#d9aa09 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;

    font-weight:800;
}


.welcome-title{
    display:flex;
    align-items:flex-start;
    gap:18px;
    position:relative;
    z-index:2;
}
.welcome-title span:last-child{

    font-size:34px;
    font-weight:800;

    color:#0f4d3a;

    letter-spacing:-.5px;

    line-height:1.2;
}
.welcome-icon{
    
    width:64px;
    height:64px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;

    background:linear-gradient(135deg,#165946,#2d8d68);

    color:#fff;
    font-size:28px;

    box-shadow:
    0 12px 25px rgba(22,89,70,.18);
}


/* ===========================
   Subtitle Badge
=========================== */

.welcome-quote{
    display:inline-flex;
    align-items:center;
    gap:8px;

    margin-top:10px;

    padding:5px 12px;

    background:rgba(255,255,255,.75);
    backdrop-filter:blur(6px);

    border:1px solid rgba(22,89,70,.10);

    border-radius:30px;

    box-shadow:0 4px 10px rgba(22,89,70,.05);
}

/* Animated Icon */

.welcome-quote i{

    width:16px;
    height:16px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#e4b708;

    color:#fff;

    font-size:7px;

    flex-shrink:0;

    animation:badgePulse 2.2s infinite;
}

.welcome-quote span{

    font-size:13px !important;
    font-weight:500 !important;
    color:#6b7280 !important;
    line-height:1.35;
    letter-spacing:.15px;

    text-shadow:none;
}
/* ===========================
   Animation
=========================== */

@keyframes badgePulse{

0%{
transform:scale(1);
box-shadow:0 0 0 rgba(228,183,8,.35);
}

50%{
transform:scale(1.12);
box-shadow:0 0 10px rgba(228,183,8,.45);
}

100%{
transform:scale(1);
box-shadow:0 0 0 rgba(228,183,8,0);
}

}

/* Employee + Clock */

.employee-badge,
#clock{
    
    display:flex;

    align-items:center;

    gap:12px;

    padding:10px 16px;

    background:#fff;

    border:1px solid #edf2f7;

    border-radius:14px;

    box-shadow:0 8px 20px rgba(22,89,70,.05);
    
    color:#165946;

    margin-right:8px;
}

.employee-badge{

   background:#fff;

border:1px solid #edf3f2;

border-radius:15px;

min-width:128px;

padding:11px 16px;

border-left:5px solid #0f766e;

box-shadow:

0 8px 20px rgba(15,118,110,.05);

transition:.3s;
}
.employee-badge:hover{

transform:translateY(-3px);

box-shadow:

0 16px 28px rgba(15,118,110,.09);

}

.employee-badge i{

   width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:12px;

    background:linear-gradient(135deg,#165946,#e4b708);

    color:#fff;
}

.employee-badge small{

 display:block;

    font-size:11px;

    color:#94a3b8;

    text-transform:uppercase;

    letter-spacing:.8px;
}

.employee-badge span{

     display:block;

    font-size:18px;

    font-weight:700;

    color:#165946;
}

/* Employee ID + Clock same row */

.employee-badge + div{

    display:inline-block;
    vertical-align:top;
}

/* Greeting */

.greeting{

 display:block;
    font-size:18px;
    font-weight:600;
    color:#475569;
    margin-bottom:4px;

}
/* Name */

.user-name{

   display:block;
    font-size:32px;
    font-weight:700;
    line-height:1.15;
    color:#165946;
    letter-spacing:-.5px;
    margin-bottom:8px;

}
.welcome-info{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:18px;
    flex-wrap:wrap;
}


/* Welcome Heading */

.topbar h2{
    margin:0;

    color:#165946;

    font-size:48px;

    font-weight:700;

    line-height:1.2;

    letter-spacing:-1px;
}
/* Employee ID */

.topbar h2 + div{

  display:inline-flex;

align-items:center;

padding:10px 18px!important;

margin-top:5px!important;

background:#ECFDF5!important;

border:1px solid #D1FAE5;

border-radius:50px!important;

font-weight:600;

color:#165946!important;

}
/* Hover */

.topbar:hover{

    transform:translateY(-4px);

    box-shadow:
    0 25px 55px rgba(15,77,58,.12);
}

/* ===========================
   TABLET
=========================== */

@media (max-width:992px){

.topbar{
    flex-direction:column;
    align-items:flex-start;
    gap:20px;
    padding:24px;
    margin-bottom:18px;
}

.welcome-title{
    width:100%;
    gap:15px;
    padding-right:90px;
}

.welcome-icon{
    width:58px;
    height:58px;
    font-size:24px;
    border-radius:16px;
}

.welcome-text h3{
    font-size:28px;
}

.welcome-quote{
    margin-top:6px;
    padding:5px 10px;
}

.welcome-quote span{
    font-size:12px;
}

.topbar-info{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    width:100%;
}

.employee-badge,
#clock{
    flex:1;
    min-width:220px;
}

.profile-box{
    position:absolute;
    top:24px;
    right:24px;
}

.profile-box img{
    width:72px;
    height:72px;
}

.sparkles{
    display:none;
}

.topbar::before,
.topbar::after{
    opacity:.45;
}

}


/* ===========================
   MOBILE
=========================== */

@media (max-width:768px){

.topbar{
    padding:18px;
    gap:16px;
    border-radius:20px;
}

.welcome-title{
    width:100%;
    gap:12px;
    padding-right:72px;
}

.welcome-icon{
    width:50px;
    height:50px;
    font-size:20px;
    border-radius:14px;
}

.welcome-text h3{
    font-size:22px;
    line-height:1.25;
}

.user-name{
    display:block;
}

.welcome-quote{
    margin-top:5px;
    padding:4px 10px;
}

.welcome-quote span{
    font-size:11px;
    white-space:normal;
}

.topbar-info{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.employee-badge,
#clock{
    width:100%;
    min-width:100%;
}

.employee-badge{
    padding:10px 14px;
}

#clock{
    justify-content:flex-start;
    padding:10px 14px;
}

.profile-box{
    position:absolute;
    right:18px;
    top:18px;
}

.profile-box img{
    width:58px;
    height:58px;
}

.sparkles,
.topbar::before,
.topbar::after{
    display:none;
}

}


/* ===========================
   SMALL MOBILE
=========================== */

@media (max-width:480px){

.topbar{
    padding:15px;
}

.welcome-title{
    gap:10px;
    padding-right:60px;
}

.welcome-icon{
    width:46px;
    height:46px;
    font-size:18px;
}

.welcome-text h3{
    font-size:19px;
}

.welcome-quote{
    padding:3px 8px;
}

.welcome-quote span{
    font-size:10px;
}

.employee-badge i{
    width:36px;
    height:36px;
}

.employee-badge span{
    font-size:15px;
}

#clock{
    font-size:13px;
}

.profile-box{
    right:15px;
    top:15px;
}

.profile-box img{
    width:50px;
    height:50px;
}

}
.welcome-subtitle{
  margin:0 0 20px;
    font-size:15px;
    color:#64748B;
    font-weight:500;
    padding-left:12px;
}

.welcome-subtitle::before{
   content:"";

position:absolute;

left:0;

top:3px;

width:3px;

height:18px;

background:#165946;

border-radius:20px;
}

/* CARDS */

.cards{
   display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px 16px;      /* પહેલાં કદાચ 30px+ હશે */
}

.card{
background:rgba(255,255,255,.55);
backdrop-filter:blur(15px);
padding:30px;
border-radius:25px;
box-shadow:0 10px 20px rgba(0,0,0,.05);
border:1px solid rgba(255,255,255,.2);
transition:.3s;
}

.card:hover{
transform:translateY(-4px);
}

.card h3{
margin-bottom:12px;
font-size:18px;
font-weight:700;
}

.big{
font-size:45px;
font-weight:900;
color:#4f46e5;
}

/* TABLE */

.table-box{
    background:#fff;
    border-radius:20px;
    overflow:hidden;

    border:1px solid #e5e7eb;

    box-shadow:
    0 12px 35px rgba(15,77,58,.08);

    margin-top:25px;
}

table{
width:100%;
border-collapse:collapse;
min-width:900px;
}

table th{
background:#eef2ff;
padding:16px;
text-align:left;
font-size:14px;
color:#475569;
}

table tr:hover{
background:#f8faff;
}

table td{
padding:16px;
border-bottom:1px solid #e2e8f0;
font-size:14px;
}

.avatar{
width:70px;
height:70px;
border-radius:50%;
object-fit:cover;
border:3px solid #fff;
box-shadow:0 8px 15px rgba(0,0,0,.12);
}

/* BUTTONS */

.small-btn{
padding:7px 12px;
border:none;
border-radius:8px;
color:#fff;
text-decoration:none;
display:inline-block;
font-size:12px;
font-weight:600;
cursor:pointer;
transition:.3s;
margin-right:5px;
white-space:nowrap;
}

.small-btn:hover{
transform:translateY(-2px);
}

.green{
background:#16a34a;
}

.red{
background:#dc2626;
}

.blue{
background:#2563eb;
}

.orange{
background:#f97316;
}

.delete-btn{
    background:#dc2626;
    color:#fff;
}

.delete-btn:hover{
    background:#b91c1c;
}

/* PROFILE */

.profile-box{
    
position:absolute;

right:24px;

top:28px;

z-index:5;
}

.profile-box::before{

content:"";

position:absolute;

width:140px;

height:140px;

right:-30px;

top:-30px;

background:

radial-gradient(circle,

rgba(228,183,8,.15),

transparent 70%);

}

.profile-box img{
    
    width:78px;

    height:78px;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #fff;

    outline:3px solid #e4b708;

    box-shadow:
    0 10px 25px rgba(228,183,8,.25);
}

.profile-box img:hover{

    transform:scale(1.05);
}



.profile-name{
font-weight:700;
}

/* TOAST */

.toast{
position:fixed;
top:20px;
right:20px;
background:#16a34a;
color:#fff;
padding:16px 24px;
border-radius:14px;
box-shadow:0 10px 20px rgba(0,0,0,.15);
display:none;
z-index:99999;
font-weight:700;
}

/* CHART BOX */

.chart-box{
background:rgba(255,255,255,.55);
backdrop-filter:blur(15px);
padding:30px;
border-radius:25px;
margin-bottom:30px;
}

/* MOBILE */

@media(max-width:991px){

.sidebar{
position:relative;
width:100%;
height:auto;
border-radius:0 0 25px 25px;
}

.content{
margin-left:0;
padding:20px;
}

.login-page{
flex-direction:column;
}

.left,
.right{
width:100%;
}

.left{
min-height:300px;
}

.left h1{
font-size:32px;
}

.login-box{
width:100%;
}

.cards{
grid-template-columns:1fr;
}

.topbar{
flex-direction:column;
align-items:flex-start;
gap:15px;
}

table{
min-width:700px;
}

}

/* SCROLLBAR */

::-webkit-scrollbar{
width:8px;
height:8px;
}

::-webkit-scrollbar-thumb{
background:#165946;
border-radius:10px;
}

::-webkit-scrollbar-track{
background:#e2e8f0;
}

.login-tagline{
    max-width:520px;

    color:#64748B;

    font-size:18px;

    line-height:30px;

    margin-bottom:45px;
}

.login-subtitle{

    text-align:center;

    color:#64748B;

    font-size:15px;

    margin-bottom:30px;

}

.login-icon{
width:75px;
height:75px;
background:linear-gradient(135deg,#4f46e5,#7c3aed);
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
margin:auto;
margin-bottom:20px;
color:#fff;
font-size:30px;
}

.feature-list{
     display:grid;
     grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.feature-item{

    display:flex;

    align-items:center;

    gap:18px;

    width:100%;

    padding:18px 22px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 12px 35px rgba(15,71,56,.08);

    border:1px solid #EEF2F7;
}
.feature-icon{

    width:55px;

    height:55px;

    border-radius:16px;

    display:flex;

    justify-content:center;

    align-items:center;

   background:linear-gradient(
145deg,
#0F4738,
#165946,
#D6A500
);

    color:#fff;

    font-size:20px;

    flex-shrink:0;
}

.feature-item h4{

    font-size:17px;

    color:#1E293B;

    margin-bottom:5px;
}

.feature-item span{

    color:#64748B;

    font-size:14px;
}
.login-features{

    display:flex;

    justify-content:space-between;

    margin-top:24px;

    font-size:13px;

    color:#64748B;
}

.login-features span{

    display:flex;

    align-items:center;

    gap:6px;
}

.login-features i{

    color:#16A34A;
}

.secure-login{

    margin-top:24px;

    padding-top:20px;

    border-top:1px solid #EEF2F7;

    text-align:center;

    color:#94A3B8;

    font-size:13px;
}

.secure-login i{

    color:#165946;

    margin-right:6px;
}



.input-icon{
     position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    color:#64748B;

    font-size:16px;
}

.input-group{

    position:relative;

    margin-bottom:18px;
}


.input-group input:focus{

    outline:none;

    border-color:#D6A500;

    background:#fff;

   box-shadow:
	0 0 0 5px rgba(228,183,8,.12);

}

.input-group input{

    width:100%;

    height:56px;

    padding:0 50px;

    border:1px solid #DCE3EA;

    border-radius:14px;

    background:#F8FAFC;

    font-size:15px;

    color:#1E293B;

    transition:.3s;
}

.input-group input::placeholder{

    color:#94A3B8;

}

.login-box .input-group input{
padding-left:45px;
}

.forgot-row{
    text-align:right;

    margin:8px 0 22px;

}

.forgot-row a{

      color:#165946;

    text-decoration:none;

    font-weight:600;

    font-size:14px;
}

.forgot-row a:hover{

color:#D8B31C;

}


.card-icon{
font-size:32px;
margin-bottom:15px;
color:#7c3aed;
}

.green-icon{
color:#16a34a;
}

.orange-icon{
color:#f97316;
}

.blue-icon{
color:#2563eb;
}

.stats-card p{
margin-top:10px;
line-height:1.7;
color:#64748b;
font-size:14px;
}

.red-alert{
background:#fee2e2;
color:#dc2626;
padding:14px;
border-radius:14px;
margin-bottom:20px;
font-weight:700;
}

.card{
background:#ffffffd9;
}

.table-box{
background:#ffffffd9;
}

.topbar{
background:#ffffffd9;
}

.sidebar{
background:#ffffffea;
}



/*Employee dashboard leave & punch*/

/* =========================================
   PREMIUM EMPLOYEE DASHBOARD FINAL
========================================= */

.employee-dashboard{
display:flex;
flex-direction:column;
gap:0px;
padding-top:4px;
}

/* =========================================
   CARD
========================================= */

.employee-dashboard .card{
position:relative;
background:
linear-gradient(145deg,#ffffff 0%,#f8fbff 100%);
border-radius:26px;
padding:22px !important;
overflow:hidden;
border:1px solid #edf2ff;
box-shadow:
0 8px 24px rgba(15,23,42,.05);
transition:
all .35s ease;
animation:cardFade .5s ease;
margin-bottom:30px !important;
display:block;
}

/* HOVER */

.employee-dashboard .card:hover{
transform:translateY(-4px);
box-shadow:
0 18px 38px rgba(79,70,229,.10);
border-color:#dbe7ff;
}

/* TOP GLOW */

.employee-dashboard .card::before{
content:'';
position:absolute;
top:-80px;
right:-80px;
width:180px;
height:180px;
border-radius:50%;
background:
radial-gradient(circle,
rgba(99,102,241,.10),
transparent 70%);
pointer-events:none;
}

/* =========================================
   HEADER
========================================= */

.employee-dashboard .card h2{
display:flex;
align-items:center;
gap:12px;
font-size:25px !important;
font-weight:800;
margin-bottom:4px !important;
color:#0f172a;
letter-spacing:-.3px;

}

/* REMOVE EXTRA LINE */

.employee-card-subtitle{
    
     display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
    padding:8px 16px;
    background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
    color:#047857;
    border:1px solid #A7F3D0;
    border-radius:50px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.3px;
    box-shadow:0 6px 18px rgba(16,185,129,.12);
    transition:.3s;
}
.employee-card-subtitle:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(16,185,129,.18);
}

.leave-title-wrap > div:last-child{
    display: flex;
    flex-direction: column;
}

.employee-card-subtitle i{

    width:22px;
    height:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:linear-gradient(135deg,#165946,#e4b708);
    color:#fff;

    font-size:12px;

    animation:leafPulse 2.5s infinite;
}

.employee-card-subtitle span{

    line-height:1.4;
}
/* Animation */

@keyframes leafPulse{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.12);
    }
}

.live-dot{

   width:10px;
    height:10px;
    border-radius:50%;
    background:#10B981;
    position:relative;
    flex-shrink:0;

}

.live-dot::after{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    border:2px solid rgba(16,185,129,.35);
    animation:livePulse 1.8s infinite;
}

@keyframes livePulse{
    0%{
        transform:scale(.8);
        opacity:1;
    }
    100%{
        transform:scale(2);
        opacity:0;
    }
}

.leave-card-subtitle{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:10px;
    padding:8px 16px;
    background:linear-gradient(135deg,#F8FCF9,#EEF8F3);
    border:1px solid rgba(22,89,70,.15);
    border-radius:50px;
    color:#4B5563;
    font-size:13px;
    font-weight:600;
    box-shadow:
        0 6px 18px rgba(22,89,70,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
    transition:.35s ease;
    position:relative;
    overflow:hidden;
}
.leave-card-subtitle::before{
   content:"";
    position:absolute;
    top:0;
    left:-45%;
    width:35%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.55),
        transparent
    );
    animation:leaveGlow 4s linear infinite;
}

@keyframes leaveGlow{
    100%{
        left:140%;
    }
}

.leave-card-subtitle:hover{
     transform:translateY(-2px);
    box-shadow:
        0 10px 24px rgba(22,89,70,.14),
        inset 0 1px 0 rgba(255,255,255,1);
}

.leave-card-subtitle i{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
     background:linear-gradient(135deg,#0F766E,#14B8A6);
    color:#fff;
    font-size:12px;
    box-shadow:0 5px 12px rgba(20,184,166,.25);
    flex-shrink:0;
}

.leave-card-subtitle span{
    color:#5B6778;
    letter-spacing:.2px;
    line-height:1.4;
}


/* =========================================
   ICONS
========================================= */

/*.employee-dashboard .attendance-section h2::before{
content:'\f017';
font-family:"Font Awesome 6 Free";
font-weight:900;
width:46px;
height:46px;
border-radius:14px;
display:flex;
align-items:center;
justify-content:center;
font-size:17px;
color:#fff;
background:
linear-gradient(135deg,#22c55e,#16a34a);
box-shadow:
0 8px 18px rgba(34,197,94,.25);
animation:floatIcon 3s ease-in-out infinite;
flex-shrink:0;
}
*/
.employee-dashboard .leave-section h2::before{
content:'\f073';
font-family:"Font Awesome 6 Free";
font-weight:900;
width:46px;
height:46px;
border-radius:14px;
display:flex;
align-items:center;
justify-content:center;
font-size:17px;
color:#fff;
background:
linear-gradient(135deg,#6366f1,#4f46e5);
box-shadow:
0 8px 18px rgba(99,102,241,.24);
animation:floatIcon 3s ease-in-out infinite;
flex-shrink:0;
}


/* =========================================
   CLOCK
========================================= */

.employee-dashboard #clock{
font-size:14px !important;
font-weight:700;
color:#4f46e5 !important;
margin:14px 0 18px 0 !important;
padding:10px 14px;
border-radius:12px;
background:#eef2ff;
display:inline-flex;
align-items:center;
gap:8px;
}

/* =========================================
   BUTTON AREA
========================================= */

.attendance-btns{
display:grid;

grid-template-columns:repeat(4,1fr);

gap:14px;

margin:25px 0;
}

.attendance-btns .btn{

height:52px;

border:none;

border-radius:14px;

font-weight:700;

font-size:15px;

color:#fff;

background:
linear-gradient(90deg,#165946,#e4b708);

transition:.35s;
}

.attendance-btns .btn:hover{

transform:
translateY(-4px);

box-shadow:
0 15px 30px rgba(22,89,70,.22);
}

.btn-success{

background:linear-gradient(135deg,#165946,#1f7a5c) !important;

color:#fff !important;

position:relative;

overflow:hidden;
}

.btn-success i{

color:#22c55e;

margin-right:8px;

font-size:16px;
}
.btn-success::before{

content:"✓";

position:absolute;

left:12px;

top:50%;

transform:translateY(-50%);

width:26px;

height:26px;

border-radius:50%;

background:#fff;

color:#22c55e;

display:flex;

align-items:center;

justify-content:center;

font-weight:900;
}

.btn-success::after{

content:"DONE";

position:absolute;

top:0;

right:0;

padding:5px 10px;

font-size:10px;

font-weight:700;

background:#22c55e;

color:#fff;

border-bottom-left-radius:12px;

letter-spacing:1px;
}

.btn-success:hover{

transform:none;

box-shadow:
0 10px 25px rgba(34,197,94,.15);
}


/* BUTTON */

.employee-dashboard .btn{
height:44px;
padding:0 24px !important;
border:none;
border-radius:14px;
font-size:14px;
font-weight:700;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
transition:.3s;
letter-spacing:.2px;
min-width:160px;
}

/* ICON */

.employee-dashboard .btn i{
font-size:14px;
}

/* PUNCH IN */

.employee-dashboard button[name="punchin"]{
background:
linear-gradient(135deg,#22c55e,#16a34a);
color:#fff;
box-shadow:
0 10px 20px rgba(34,197,94,.20);
}

/* PUNCH OUT */

.employee-dashboard button[name="punchout"]{
background:
linear-gradient(135deg,#ef4444,#dc2626);
color:#fff;
box-shadow:
0 10px 20px rgba(239,68,68,.20);
}

/* APPLY LEAVE */

.employee-dashboard button[name="apply_leave"]{
background:
linear-gradient(135deg,#6366f1,#4f46e5);
color:#fff;
box-shadow:
0 10px 22px rgba(99,102,241,.20);
margin-top:6px;
width:100%;
}

/* BUTTON HOVER */

.employee-dashboard .btn:hover{
transform:
translateY(-2px)
scale(1.02);
}

/* =========================================
   DETAILS PANEL
========================================= */

.attendance-details{
    
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;              /* 26px થી થોડું ઓછું */
    margin-top:26px;
    padding:22px;
    border-radius:22px;
    background:#fff;
    border:1px solid #eef2f7;
    box-shadow:0 10px 30px rgba(15,23,42,.04);
    position:relative;
 
}
.attendance-details::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:180px;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        #dbe5dd,
        transparent
    );
}

/* ROW */

.attendance-row{
    
    position:relative;
    background:#fff;
    border:1px solid #edf2f7;
    border-radius:18px;
    padding:18px;
    min-height:135px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;

    overflow:hidden;
    isolation:isolate;

    transition:.3s ease;

    box-shadow:
    0 4px 12px rgba(15,23,42,.04);

}

.attendance-row:hover i{

transform:translateY(-2px) scale(1.05);

}


.attendance-row::before{

  content:"";
    position:absolute;
    inset:0;
    border-radius:18px;
    background:linear-gradient(
        135deg,
        rgba(22,89,70,.03),
        transparent 45%,
        rgba(228,183,8,.03)
    );
}

/* Bottom Decorative Glow */

.attendance-row::after{
    
content:"";

position:absolute;

right:14px;

bottom:14px;

width:46px;

height:46px;

background-image:radial-gradient(#d8dee8 1.4px,transparent 1.4px);

background-size:8px 8px;

opacity:.9;

}

/* LAST */

.attendance-row:last-child{
border-bottom:none;
}

/* HOVER */

.attendance-row:hover{
    
  transform:translateY(-4px);

    border-color:#dce8df;

    box-shadow:
    0 14px 30px rgba(15,23,42,.08);
}

.attendance-row:hover::before{
    opacity:1;
}


/* LABEL */

.attendance-row span{
    
display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

gap:12px;

margin-bottom:14px;

font-size:11px;

font-weight:700;

text-transform:uppercase;

letter-spacing:1px;

color:#94a3b8;

}

/* VALUE */

.attendance-row strong{
display:block;

margin-top:8px;

font-size:20px;

font-weight:700;

color:#1f2937;

line-height:1.4;

word-break:break-word;
}

.attendance-row strong a:hover{
text-decoration:underline;
}
.attendance-row strong::after{

content:"";

display:block;

width:34px;

height:3px;

margin:16px auto 0;

border-radius:30px;

background:linear-gradient(90deg,#165946,#E4B708);
}


.attendance-row a{

color:#2563eb;

font-weight:600;

text-decoration:none;
}

.attendance-row a:hover{

text-decoration:underline;
}

.attendance-row i{
width:48px;
height:48px;

border-radius:14px;

background:linear-gradient(180deg,#ffffff,#f6f9fc);

border:1px solid #eef2f7;

box-shadow:
0 6px 14px rgba(15,23,42,.05);

font-size:18px;

transition:.3s;
}

/* Tablet */
@media (max-width:992px){

    .attendance-details{
        grid-template-columns:repeat(2,1fr);
        gap:14px;
    }

    .attendance-row{
        padding:12px 14px;
    }

    .attendance-row span,
    .attendance-row strong{
        font-size:13px;
    }

}
@media (max-width:576px){

    .attendance-details{
        grid-template-columns:repeat(2,1fr);
    }

    .attendance-row{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .attendance-row strong{
        max-width:100%;
        text-align:left;
    }

}

/*=========================================
        MY LEAVE HISTORY
=========================================*/

.my-leave-history .table-box{
    background:#fff;
    border-radius:24px;
    padding:30px;
    border:1px solid #e8eef5;
    box-shadow:0 15px 40px rgba(15,23,42,.06);
}

/* Header */

.my-leave-history .leave-history-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:28px;
    padding-bottom:18px;
    border-bottom:1px solid #edf2f7;
}

.my-leave-history .leave-history-header h2{
    margin:0;
    font-size:34px;
    font-weight:700;
    color:#243145;
    letter-spacing:-.5px;
}

.my-leave-history .leave-history-header p{
    margin-top:8px;
    color:#64748b;
    font-size:14px;
    line-height:1.7;
}

/* Table */

.my-leave-history table{
    width:100%;
    border-collapse:separate;
   border-spacing:0 12px;
}

/* Heading */

.my-leave-history thead th{
    background:linear-gradient(180deg,#f9fbfc,#edf5f1);
    color:#4b5563;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.7px;
    padding:18px;
    border-top:1px solid #e7edf3;
    border-bottom:1px solid #e7edf3;
}

.my-leave-history thead th:first-child{
    border-radius:14px 0 0 14px;
}

.my-leave-history thead th:last-child{
     border-radius:0 14px 14px 0;
}

/* Body */

.my-leave-history tbody td{
    padding:20px 18px;
    font-size:14px;
    color:#475569;
    border-top:1px solid #edf2f7;
    border-bottom:1px solid #edf2f7;
    vertical-align:middle;
}

.my-leave-history tbody tr{
    background:#fff;
    transition:.35s;
}

/* Zebra */

.my-leave-history tbody tr:nth-child(even){
    background:#fcfdfd;
}

/* Hover */

.my-leave-history tbody tr:hover{
     transform:translateY(-2px);

    box-shadow:0 10px 25px rgba(22,89,70,.08);
}

.my-leave-history tbody tr:hover td{
      background:#fbfefd;
}

/* Leave Type */

.my-leave-history tbody td:first-child{
     border-left:1px solid #edf2f7;
    border-radius:14px 0 0 14px;
    color:#165946;
    font-weight:700;
}
.my-leave-history tbody td:last-child{
    border-right:1px solid #edf2f7;
    border-radius:0 14px 14px 0;
}
/* Reason */

.my-leave-history tbody td:nth-child(4){
    max-width:260px;
    color:#64748b;
    line-height:1.7;
}

/*==========================
        Status
===========================*/

.my-leave-history .status-badge{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:115px;
    padding:9px 16px;
    border-radius:50px;
    font-size:12px;
    font-weight:700;
    letter-spacing:.5px;

}

/* Admin Comment */

.my-leave-history tbody td:nth-child(5){
    color:#64748b;
    font-style:italic;
}

/* Status */

.my-leave-history .leave-status{
    text-align:center;
}

/* Empty */

.my-leave-history .no-data{
     text-align:center;
    padding:60px 20px;
    color:#94a3b8;
    font-size:15px;
}

.my-leave-history .no-data i{
   font-size:40px;
    margin-bottom:12px;
    color:#cbd5e1;
}

/* Pagination */

.my-leave-history .pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    margin-top:30px;
   
}

.my-leave-history .pagination a{
       width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:12px;
    border:1px solid #e2e8f0;
    background:#fff;
    color:#475569;
    font-weight:600;
    transition:.3s;
}

.my-leave-history .pagination a:hover{
      background:#165946;
    color:#fff;
    border-color:#165946;
}

.my-leave-history .pagination .active{
    background:linear-gradient(135deg,#165946,#0f4738);
    color:#fff;
    border:none;
    box-shadow:0 10px 20px rgba(22,89,70,.20);

}

/* Mobile */
@media(max-width:991px){

.my-leave-history .table-box{

    overflow-x:auto;

}

.my-leave-history table{

    min-width:950px;

}

}

@media(max-width:768px){

.my-leave-history .table-box{

    padding:18px;

}

.my-leave-history .leave-history-header{

    display:block;

}

.my-leave-history .leave-history-header h2{

    font-size:28px;

}

.my-leave-history .leave-history-header p{

    font-size:13px;

}

}


/*=====================================
        HOLIDAY LIST
=====================================*/

.holiday-list-page .table-box{
    background:#fff;
    border:1px solid #e8eef5;
    border-radius:24px;
    padding:30px;
    box-shadow:0 15px 40px rgba(15,23,42,.06);
}

/* Header */

.holiday-list-page .holiday-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:28px;
    padding-bottom:18px;
    border-bottom:1px solid #edf2f7;
}

.holiday-list-page .holiday-header h2{
    margin:0;
    font-size:34px;
    font-weight:700;
    color:#243145;
}

.holiday-list-page .holiday-header p{
    margin-top:8px;
    font-size:14px;
    color:#64748b;
    line-height:1.6;
}

/* Table */

.holiday-list-page table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 12px;
}

/* Header */

.holiday-list-page thead th{
    background:linear-gradient(180deg,#F8FAFC,#EEF7F3);
    color:#475569;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.7px;
    padding:18px;
    font-weight:700;
    text-align:left;
    border-top:1px solid #e7edf3;
    border-bottom:1px solid #e7edf3;
}

.holiday-list-page thead th:first-child{
    border-radius:14px 0 0 14px;
}

.holiday-list-page thead th:last-child{
    border-radius:0 14px 14px 0;
}

/* Body */

.holiday-list-page tbody tr{
    transition:.3s;
}

.holiday-list-page tbody td{
    background:#fff;
    padding:18px;
    border-top:1px solid #edf2f7;
    border-bottom:1px solid #edf2f7;
    color:#475569;
    vertical-align:middle;
}

.holiday-list-page tbody td:first-child{
    border-left:1px solid #edf2f7;
    border-radius:14px 0 0 14px;
    color:#165946;
    font-weight:700;
}

.holiday-list-page tbody td:last-child{
    border-right:1px solid #edf2f7;
    border-radius:0 14px 14px 0;
}

.holiday-list-page tbody tr:hover{
    transform:translateY(-2px);
}

.holiday-list-page tbody tr:hover td{
    background:#F8FCFA;
    box-shadow:0 10px 25px rgba(22,89,70,.05);
}

/* Description */

.holiday-list-page tbody td:nth-child(3){
    color:#64748b;
    line-height:1.7;
}

/* Action */

.holiday-list-page .holiday-actions{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
}

/* Responsive */

@media(max-width:768px){

    .holiday-list-page .table-box{
        padding:18px;
        overflow-x:auto;
    }

    .holiday-list-page table{
        min-width:700px;
    }

    .holiday-list-page .holiday-header{
        display:block;
    }

    .holiday-list-page .holiday-header h2{
        font-size:28px;
    }

    .holiday-list-page .holiday-header p{
        font-size:13px;
    }

}


/* =========================================
   FORM
========================================= */

.employee-dashboard .input-group{
margin-bottom:14px;
}

.employee-dashboard .input-group input,
.employee-dashboard .input-group select,
.employee-dashboard .input-group textarea{
background:#fff;
border:1px solid #e2e8f0;
padding:13px 15px;
border-radius:14px;
font-size:13px;
transition:.3s;
}

.employee-dashboard .input-group input:focus,
.employee-dashboard .input-group select:focus,
.employee-dashboard .input-group textarea:focus{
border-color:#6366f1;
background:#fcfcff;
box-shadow:
0 0 0 4px rgba(99,102,241,.08);
}

/* TEXTAREA */

.employee-dashboard textarea{
height:100px;
resize:none;
}

/* =========================================
   ANIMATION
========================================= */

@keyframes floatIcon{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-4px);
}

100%{
transform:translateY(0px);
}

}

@keyframes cardFade{

from{
opacity:0;
transform:translateY(18px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

.employee-dashboard{
gap:18px;
}

.employee-dashboard .card{
padding:18px !important;
border-radius:20px;
}



.employee-dashboard .attendance-section h2::before,
.employee-dashboard .leave-section h2::before{
width:40px;
height:40px;
font-size:15px;
}

.attendance-btns{
flex-direction:row;
gap:10px;
}

.employee-dashboard .btn{
flex:1;
min-width:auto;
height:42px;
font-size:13px;
padding:0 14px !important;
}

.attendance-row{
padding:13px 14px;
}

}

/* Holiday Action Buttons */

.btn-edit,
.btn-delete{
display:inline-flex;
align-items:center;
justify-content:center;
padding:9px 16px;
border-radius:10px;
font-size:13px;
font-weight:700;
text-decoration:none;
transition:.3s;
color:#fff; /* White Text */
}

.btn-edit{
background:#0d6efd;
color:#fff;
}

.btn-edit:hover{
background:#0b5ed7;
color:#fff;
}

.btn-delete{
background:#dc3545;
color:#fff;
}

.btn-delete:hover{
background:#bb2d3b;
color:#fff;
}

/* admin leave list date */
.date-range{
    background:#eef4ff;
    color:#2563eb;
    padding:6px 12px;
    border-radius:20px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
}

/* Pagination */
.pagination{
    margin-top:20px;
    text-align:center;
}

.pagination a{
    display:inline-block;
    padding:8px 14px;
    margin:0 3px;
    text-decoration:none;
    background:#f1f1f1;
    color:#333;
    border-radius:6px;
    font-weight:600;
     min-width:40px;
    transition:.3s;
}

.pagination a:hover{
     background:linear-gradient(135deg,#165946,#1F7A5B);
    color:#fff;
}

.pagination a.active{
     background:linear-gradient(135deg,#0F4D3A,#165946);
    color:#fff;
}
/* dasbhoard clock */
/* Clock */

#clock{

 background:#fff;

padding:11px 16px;

border-radius:15px;

border:1px solid #edf2f7;

box-shadow:

0 8px 18px rgba(15,118,110,.05);

}


#clock i{
    color:#0f766e;
}

#clock span{
    letter-spacing:.4px;
}

@media(max-width:768px){
    #clock{
        font-size:13px;
        padding:8px 14px;
        gap:10px;
    }

    #clock i{
        width:30px;
        height:30px;
        font-size:14px;
    }
}

/* Forgot password */

.modal{
 position:fixed;

    inset:0;

    display:none;

    justify-content:center;

    align-items:center;

    background:rgba(15,23,42,.45);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    padding:20px;

    z-index:9999;

    animation:fadeOverlay .35s ease;

}
@keyframes fadeOverlay{

from{

opacity:0;

}

to{

opacity:1;

}

}

.modal-box{
 position:relative;

    width:100%;

    max-width:500px;

    background:#fff;

    border-radius:24px;

    padding:35px;

    box-shadow:

    0 30px 80px rgba(0,0,0,.15);

    animation:modalUp .35s ease;

    overflow:hidden;
}

.modal-box::before{

content:"";

position:absolute;

left:0;

top:0;

width:100%;

height:5px;

background:linear-gradient(
90deg,
#165946,
#E4B708
);

}
.modal-box i.fa-lock{

animation:lockFloat 2.5s infinite ease-in-out;

}

@keyframes lockFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-6px);

}

100%{

transform:translateY(0);

}

}

@keyframes modalUp{

from{

opacity:0;

transform:translateY(35px);

}

to{

opacity:1;

transform:translateY(0);

}

}

.modal .input-group{

margin-bottom:18px;

}

.modal .input-group input{

width:100%;

height:56px;

padding:0 18px;

border:1px solid #E5E7EB;

border-radius:14px;

background:#fff;

transition:.30s;

font-size:15px;

}

.modal .input-group input:focus{

border-color:#165946;

box-shadow:

0 0 0 4px rgba(22,89,70,.08);

}

.close-btn{

position:absolute;

top:18px;

right:18px;

width:42px;

height:42px;

border:none;

border-radius:50%;

background:#F1F5F9;

font-size:22px;

cursor:pointer;

transition:.30s;

color:#64748B;

}

.close-btn:hover{

background:#165946;

color:#fff;

transform:rotate(90deg);

}

.modal hr{

border:none;

height:1px;

background:#E5E7EB;

margin:28px 0;

}

.modal p{

font-size:14px;

line-height:1.7;

color:#64748B;

}

.forgot-success{
background:#dcfce7;
color:#166534;
padding:12px;
border-radius:10px;
margin-bottom:15px;
font-weight:600;
text-align:center;
}

.forgot-error{
background:#fee2e2;
color:#b91c1c;
padding:12px;
border-radius:10px;
margin-bottom:15px;
font-weight:600;
text-align:center;
}

.password-box{
    position:relative;
    background:#fff8e1;
    padding:10px;
    border-radius:8px;
    margin-top:8px;
}

.password-box input{
    padding-right:45px;
}

.password-toggle{
position:absolute;
right:15px;
top:50%;
transform:translateY(-50%);
cursor:pointer;
font-size:16px;
 color:#64748b;
}

.password-toggle:hover{
color:#333;
}

.profile-btn-wrapper{
    display:flex;
    justify-content:center;
    margin-top:15px;
}

.profile-btn{
    width:auto ;
    padding:14px 35px;   /* 🔥 size moti */
    font-size:16px;      /* 🔥 text moto */
    font-weight:600;
    border-radius:10px;  /* optional nice look */
}

.btn:disabled{
    background:#16a34a;
    color:#fff;
    opacity:1;
    cursor:not-allowed;
}

.sidebar-logo{
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
}



.status{
    display:inline-block;
    padding:6px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:600;
    text-align:center;
}
.status.present{
    background:linear-gradient(135deg,#22c55e,#16a34a);
    color:#fff;
    box-shadow:0 2px 8px rgba(34,197,94,0.3);
}

.status.absent{
    background:linear-gradient(135deg,#ef4444,#dc2626);
    color:#fff;
    box-shadow:0 2px 8px rgba(239,68,68,0.3);
}

.filter-form{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    background:#fff;
    padding:15px;
    border-radius:12px;
    box-shadow:0 3px 12px rgba(0,0,0,0.08);
    margin-bottom:20px;
}

.filter-form select,
.filter-form input[type="date"]{
    padding:10px 12px;
    border:1px solid #ddd;
    border-radius:8px;
    outline:none;
    background:#fff;
    font-size:14px;
    transition:0.2s;
}

.filter-form select:focus,
.filter-form input:focus{
    border-color:#4a90e2;
    box-shadow:0 0 0 2px rgba(74,144,226,0.15);
}

.filter-form .btn{
    width:auto !important;

    min-width:120px;

    padding:11px 24px;

    border:none;

    border-radius:9px;

    background:linear-gradient(135deg,#0F6B50,#198A67);

    color:#fff;

    font-weight:600;

    cursor:pointer;

    transition:.25s;
}

.filter-form .btn:hover{
      transform:translateY(-1px);

    box-shadow:0 6px 15px rgba(15,107,80,.20);
}
#attendance-filter-form button[type="submit"]{
    width:auto !important;
    min-width:120px;
}

.attendance-ui{
    font-family:Arial, sans-serif;
}

/* Card Box */
.attendance-ui .table-box{
    background:#ffffff;
    padding:20px;
    border-radius:16px;
    box-shadow:0 6px 18px rgba(0,0,0,0.08);
    overflow-x:auto;
}

/* Heading */
.attendance-ui h2{
    font-size:22px;
    font-weight:700;
    margin-bottom:15px;
    color:#2c3e50;
}

/* Filter Form */
.attendance-ui .filter-form{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:20px;
    background:#f8fafc;
    padding:12px;
    border-radius:12px;
}

.attendance-ui .filter-form select,
.attendance-ui .filter-form input{
    padding:10px 12px;
    border:1px solid #ddd;
    border-radius:10px;
    outline:none;
    background:#fff;
}

.attendance-ui .filter-form select:focus,
.attendance-ui .filter-form input:focus{
    border-color:#4a90e2;
    box-shadow:0 0 0 3px rgba(74,144,226,0.15);
}

.attendance-ui .filter-form .btn{
    padding:10px 16px;
    border:none;
    border-radius:10px;
    background:#165946;
    color:#fff;
    cursor:pointer;
    font-weight:600;
}

.attendance-ui .filter-form .btn:hover{
    background:#3a78c2;
}

/* Table Layout */
.attendance-ui table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 10px;
    min-width:1000px;
}

/* Header */
.attendance-ui th{
    text-align:left;
    padding:12px;
    font-size:12px;
    color:#6c757d;
    text-transform:uppercase;
}

/* Row Cards */
.attendance-ui td{
    background:#f9fafc;
    padding:14px;
    font-size:13px;
}

/* Rounded row effect */
.attendance-ui tr td:first-child{
    border-radius:10px 0 0 10px;
}

.attendance-ui tr td:last-child{
    border-radius:0 10px 10px 0;
}

/* Hover */
.attendance-ui tr:hover td{
    background:#eef5ff;
    transition:0.2s;
}

/* Total Hours highlight */
.attendance-ui td:nth-child(7){
    font-weight:700;
    color:#1e7e34;
    text-align:center;
    border-radius:10px;
}

/* Location text */
.attendance-ui td:nth-child(8){
    font-size:12px;
    line-height:1.5;
    color:#555;
    
}
@media (max-width: 768px){

    /* Card padding reduce */
    .attendance-ui .table-box{
        padding:12px;
        border-radius:12px;
    }

    /* Filter stack layout */
    .attendance-ui .filter-form{
        flex-direction:column;
        align-items:stretch;
        gap:10px;
    }

    .attendance-ui .filter-form select,
    .attendance-ui .filter-form input,
    .attendance-ui .filter-form .btn{
        width:100%;
    }

    /* Table scroll safe */
    .attendance-ui table{
        min-width:900px;
    }

    /* Font size small */
    .attendance-ui td{
        font-size:12px;
        padding:10px;
    }

    .attendance-ui th{
        font-size:11px;
    }

    /* Total hours still visible */
    .attendance-ui td:nth-child(7){
        font-size:12px;
        padding:10px;
    }
}


/* Leave status badge style */
.status-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:7px 14px;
    border-radius:50px;

    font-size:12px;
    font-weight:700;
    letter-spacing:.5px;
    text-transform:uppercase;

    border:1px solid transparent;
    font-family:'Segoe UI',sans-serif;

    box-shadow:0 2px 8px rgba(0,0,0,.06);
}

/* Approved */
.status-badge.approved{
    background:#ecfdf5;
    color:#059669;
    border-color:#a7f3d0;
}

.status-badge.approved::before{
    content:"✓";
}

/* Rejected */
.status-badge.rejected{
    background:#fef2f2;
    color:#dc2626;
    border-color:#fecaca;
}

.status-badge.rejected::before{
    content:"✕";
}

/* Pending */
.status-badge.pending{
    background:#fffbeb;
    color:#d97706;
    border-color:#fde68a;
}

.status-badge.pending::before{
    content:"⏳";
}


.alert{
    padding:14px 18px;
    border-radius:12px;
    margin-bottom:20px;
    font-weight:600;
}

.alert.error{
    background:#fee2e2;
    color:#b91c1c;
    border:1px solid #fecaca;
}

.alert.success{
    background:#dcfce7;
    color:#166534;
    border:1px solid #bbf7d0;
}

th.total-hours-col,
td.total-hours-col{
    font-weight:bold !important;
    color:#2563eb !important;
    background:#eff6ff !important;
}

/* MAIN TITLE */
.card h2{
    font-size:28px;
    font-weight:700;
    color:#1e293b;
    margin-bottom:25px;
    padding-bottom:12px;
    
    display:inline-block;
}

/* SECTION */

/* PROFILE TITLE */
.profile-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:28px;
    padding-bottom:20px;
    border-bottom:1px solid #e2e8f0;
}

.profile-title-icon{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:linear-gradient(135deg,#0F766E,#16A34A);
    color:#FFFFFF;
    font-size:20px;
}

.profile-title h2{
    margin:0;
    font-size:22px;
    font-weight:800;
    color:#1e293b;
}

.profile-title p{
    margin:4px 0 0;
    font-size:13px;
    color:#64748b;
}


.profile-section{
    margin-bottom:28px;
    padding:22px;
    border:1px solid #D1FAE5;
    border-radius:14px;
    background:#ffffff;
}

/* SECTION TITLE */
.profile-section h3{
    display:flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(90deg,#F8FFFB,#FFFBEA);
    padding:12px 16px;
    border-left:5px solid #EAB308;
    border-radius:8px;
    font-size:17px;
    font-weight:800;
    color:#1E293B;
    margin:0 0 20px;
}

.profile-section h3 i{
    color:#EAB308;
    font-size:16px;
}

/* CARDS GRID */
.profile-section .cards{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
}

/* INPUT GROUP */
.profile-card .input-group{
    margin-bottom:0;
}

.profile-card .input-group label{
    display:block;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:#334155;
}

/* INPUTS */
.profile-card .input-group input,
.profile-card .input-group textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid #D1DCE5;
    border-radius:9px;
    font-size:14px;
    color:#1e293b;
    background:#ffffff;
    transition:0.2s;
    box-sizing:border-box;
}

.profile-card .input-group textarea{
    resize:vertical;
    min-height:85px;
}

.profile-card .input-group input:focus,
.profile-card .input-group textarea:focus{
     border-color:#0F766E;
    box-shadow:0 0 0 4px rgba(15,118,110,.12);
    outline:none;
}

/* READONLY */
.profile-card input[readonly]{
    background:#f8fafc;
    color:#64748b;
    cursor:not-allowed;
}

/* ADDRESS FULL WIDTH */
.full-width{
    grid-column:1 / -1;
}

/* PASSWORD SECTION */
.password-box{
    position:relative;
    padding:0;
    border:0;
    background:transparent;
    border-radius:0;
}

.password-box input{
    padding-right:45px !important;
}

/* PASSWORD EYE */
.password-toggle{
    position:absolute;
    right:15px;
    top:50%;
    transform:translateY(-50%);
    cursor:pointer;
    color:#64748b;
    font-size:15px;
    transition:0.2s;
}

.password-toggle:hover{
    color:#2563eb;
}

/* FILE INPUT */
.profile-card input[type="file"]{
    background:#f8fafc;
    padding:9px;
    cursor:pointer;
}

.profile-card input[type="file"]::file-selector-button{
    border:0;
    border-radius:7px;
    padding:8px 12px;
    margin-right:10px;
    background:#dbeafe;
    color:#1d4ed8;
    font-weight:700;
    cursor:pointer;
}

/* SAVE BUTTON */
.profile-btn-wrapper{
    display:flex;
    justify-content:flex-end;
    margin-top:28px;
}

.profile-btn{
    min-width:190px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:13px 22px;
    font-size:15px;
    font-weight:800;
    border:0;
    border-radius:10px;
    cursor:pointer;
    background:#165946;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(37,99,235,0.22);
    transition:0.2s;
}

.profile-btn:hover{
    background:#1d4ed8;
    transform:translateY(-2px);
}

/* MOBILE */
@media(max-width:600px){

    .profile-section{
        padding:15px;
    }

    .profile-section .cards{
        grid-template-columns:1fr;
        gap:16px;
    }

    .profile-btn-wrapper{
        justify-content:stretch;
    }

    .profile-btn{
        width:100%;
    }
}

.attendance-section h2{
    border-bottom:none !important;
    padding-bottom:0 !important;
    display:flex !important;
}
/* Attendance Header */

.attendance-card-header{
display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:18px;
}

.attendance-title-wrap{
display:flex;

align-items:center;

gap:16px;
}

/* Main Icon */

.attendance-main-icon{
   width:58px;
height:58px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

font-size:24px;

color:#fff;

background:
linear-gradient(135deg,#165946,#e4b708);

box-shadow:
0 12px 25px rgba(22,89,70,.25);

    animation:attendanceFloat 3s ease-in-out infinite;
}

/* Title */

.employee-card-title{
    
     display: block;
     margin:0;

    font-size:30px;

    font-weight:700;

    line-height:1.2;

   color:#1e293b;

    letter-spacing:-.6px;
}


/* Floating Animation */

@keyframes attendanceFloat{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-5px);
}

100%{
transform:translateY(0);
}

}

.attendance-row span i{
    
  width:56px;

height:56px;

border-radius:18px;

display:flex;

align-items:center;

justify-content:center;

font-size:22px;

background:#f5f8ff;

box-shadow:
0 10px 18px rgba(0,0,0,.05);

transition:.35s;
}

/* Different Icon Colors */

.attendance-row:nth-child(1) i{
background:#eef4ff;
color:#2563eb;
}

.attendance-row:nth-child(2) i{
background:#eafbf0;
color:#16a34a;
}

.attendance-row:nth-child(3) i{
background:#fff0f0;
color:#ef4444;
}

.attendance-row:nth-child(4) i{
background:#eef8ff;
color:#0284c7;
}

.attendance-row:nth-child(5) i{
background:#eefcff;
color:#06b6d4;
}

.attendance-row:nth-child(6) i{
background:#f4ebff;
color:#9333ea;
}

.attendance-row:nth-child(7) i{
background:#fff7df;
color:#f59e0b;
}

.attendance-row:nth-child(8) i{
background:#eef2ff;
color:#4f46e5;
}


.attendance-row .fa-calendar-days{color:#2563eb;}
.attendance-row .fa-right-to-bracket{color:#16a34a;}
.attendance-row .fa-right-from-bracket{color:#dc2626;}
.attendance-row .fa-map-location-dot{color:#f97316;}
.attendance-row .fa-location-crosshairs{color:#06b6d4;}
.attendance-row .fa-utensils{color:#8b5cf6;}
.attendance-row .fa-mug-hot{color:#eab308;}
.attendance-row .fa-clock{color:#4f46e5;}



.leave-title-wrap{
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-bottom:22px;
}

.leave-subtitle{

    margin-top:10px;

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 14px;

    border-radius:999px;

    background:#f5fbf8;

    border:1px solid #d8efe2;

    color:#5b6470;

    font-size:13px;

    font-weight:600;

}


.leave-subtitle i{

    color:#22c55e;

    font-size:13px;

}

.leave-title-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.leave-title-content .employee-card-title{
    margin:0;
    font-size:28px;      /* Punch Attendance જેટલું રાખો */
    font-weight:700;
    line-height:1.2;
}

.leave-main-icon{
     width:46px;
    height:46px;
    border-radius:14px;
    background:linear-gradient(135deg,#165946,#E4B708);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:18px;
    flex-shrink:0;
    box-shadow:0 10px 20px rgba(22,89,70,.18);

    animation:leaveFloat 3s ease-in-out infinite;
}


@keyframes leaveFloat{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-5px);
}

100%{
transform:translateY(0);
}

}
.leave-main-icon::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        135deg,
        rgba(255,255,255,.28),
        transparent 55%
    );
}

.leave-main-icon i{
    position:relative;
    z-index:2;
}

.leave-main-icon:hover{
    transform:translateY(-3px) scale(1.05);
    box-shadow:
        0 18px 35px rgba(22,89,70,.28),
        0 8px 18px rgba(228,183,8,.25);
}


/* =========================
   DATE DETAILS CARDS
========================= */

.salary-details-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-top:5px;
}

.salary-detail-card{
    overflow:hidden;
    min-height:210px;
    padding:0;
    background:#fff;
    border:1px solid #e5eaf2;
    border-radius:14px;
    box-shadow:0 5px 16px rgba(30,41,59,.07);
}

.salary-detail-card h3{
    margin:0;
    padding:15px 16px;
    color:#27334a;
    font-size:14px;
    font-weight:800;
    background:#f7f9fc;
    border-bottom:1px solid #e5eaf2;
}

.salary-detail-card ul{
    list-style:none;
    margin:0;
    padding:10px;
    max-height:235px;
    overflow-y:auto;
}

.salary-detail-card li{
    position:relative;
    margin:7px 0;
    padding:10px 10px 10px 27px;
    color:#566276;
    background:#f8fafc;
    border:none;
    border-radius:8px;
    font-size:12px;
    font-weight:600;
}

.salary-detail-card li::before{
    content:"";
    position:absolute;
    left:11px;
    top:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#6543f5;
    transform:translateY(-50%);
}

.salary-detail-card p{
    margin:0;
    padding:28px 15px;
    color:#98a2b3;
    font-size:13px;
    text-align:center;
}

/* =========================
   MOBILE / TABLET
========================= */

@media(max-width:1100px){

    .salary-details-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){

    .cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin:18px 0;
    }

    .cards .card{
        min-height:92px;
        padding:14px;
        border-radius:12px;
    }

    .cards .card h3{
        margin-bottom:9px;
        font-size:11px;
    }

    .cards .card .big{
        font-size:19px;
    }

    .salary-details-grid{
        grid-template-columns:1fr;
        gap:13px;
    }

    .salary-detail-card{
        min-height:auto;
    }

    .salary-detail-card ul{
        max-height:190px;
    }
}



.remark-form{
    display:flex;
    flex-direction:column;
    gap:6px;
}

.remark-box{
    width:170px;
    min-height:55px;
    padding:8px;
    border:1px solid #dbe3ef;
    border-radius:8px;
    font-size:12px;
    resize:none;
}

.remark-save-btn{
   background:linear-gradient(135deg,#E4B708,#F4D03F);
    color:#1E293B;
    border:none;
    padding:8px 18px;
    border-radius:8px;
    font-size:13px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 4px 12px rgba(228,183,8,.25);
}
.remark-save-btn:hover{
    background:linear-gradient(135deg,#D4A506,#EFCB2E);
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(228,183,8,.35);
}

.remark-save-btn i{
    margin-right:5px;
}







.input-group label small{
    font-size:11px;
    color:#64748b;
    font-weight:500;
    margin-left:4px;
}



.leave-section{

    position:relative;
    overflow:hidden;

    background:#fff;

    border-radius:28px;

    border:1px solid #dbeafe;

    padding:30px;

    box-shadow:
    0 20px 45px rgba(15,77,58,.08);

}
/* Top Golden Border */

.leave-section::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:linear-gradient(90deg,#165946,#e4b708,#165946);

}
/* Light Background Glow */

.leave-section::after{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-120px;
    top:-180px;

    background:radial-gradient(circle,
    rgba(34,197,94,.08),
    transparent 70%);

    pointer-events:none;

}

.leave-card-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-bottom:30px;

    position:relative;

    z-index:2;

}
.leave-section form{

    position:relative;

    z-index:2;

}

.input-group label{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:600;
    color:#334155;

}
.input-group label i{

     width:18px;
    color:#0f4d3a;

}
.input-group input,
.input-group select,
.input-group textarea{

   width:100%;
    height:48px;              /* પહેલાં 60-70px હશે */
    padding:0 14px;
    border:1px solid #d7e3df;
    border-radius:12px;
    font-size:14px;
    background:#fff;
    transition:.3s;

}
.input-group textarea{
    height:100px;
    padding:14px;
    resize:vertical;
}
.input-group input[type=file]{
    margin-top:8px;
}


.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus{

    outline:none;

    border-color:#22c55e;

    box-shadow:
    0 0 0 4px rgba(34,197,94,.10);

}



/* Leave Action Buttons */
.leave-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-wrap:nowrap;
    white-space:nowrap;
}

.leave-actions .small-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:72px;
    padding:8px 14px;
    border-radius:8px;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    color:#fff;
    transition:.3s;
}

.leave-actions .small-btn:hover{
    transform:translateY(-2px);
}

/* Action column width */
table th:last-child,
table td:last-child{
    min-width:240px;
}



.attendance-table-scroll{
    width:100%;
    -webkit-overflow-scrolling:touch;
    overflow-x:auto;
    border-radius:12px;
}

.attendance-table-scroll table{
    width:100%;
    min-width:1150px;
    border-collapse:collapse;
}

.attendance-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.attendance-heading h2{
    margin:0;
}

.export-btn{
    width:auto !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 16px !important;
    background:linear-gradient(135deg,#16a34a,#22c55e) !important;
    color:#fff !important;
    border:none !important;
    border-radius:10px;
    font-size:13px !important;
    font-weight:700;
    line-height:1;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:0 5px 12px rgba(22,163,74,.25);
    transition:all .25s ease;
}

.export-btn:hover{
    background:linear-gradient(135deg,#16a34a,#22c55e) !important;
    transform:translateY(-2px);
    box-shadow:0 8px 16px rgba(22,163,74,.35);
}

.export-btn:active{
    transform:translateY(0);
}

/* =========================
   SALARY SUMMARY CARDS
========================= */

.salary-cards{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:16px;
    margin:25px 0;
}

.salary-card{
    min-width:0; /* text overlap prevent */
    min-height:110px;
    padding:18px;
    background:#ffffff;
    border:1px solid #e5eaf2;
    border-radius:14px;
    box-shadow:0 5px 16px rgba(30,41,59,.07);
    transition:.25s ease;
}

.salary-card:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 22px rgba(30,41,59,.12);
}

.salary-card h3{
    margin:0 0 12px;
    color:#667085;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
}

.salary-big{
    color:#4f46e5;
    font-size:28px;
    font-weight:800;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* Payable Salary Highlight */
.payable-salary-card{
    background:linear-gradient(135deg,#5b36ef,#7544f5);
    border:none;
    box-shadow:0 10px 22px rgba(91,54,239,.25);
}

.payable-salary-card h3,
.payable-salary-card .salary-big{
     color:#fff !important;
}


.employee-list-actions{
    display:flex;
    flex-wrap:nowrap;
    gap:6px;
    justify-content:center;
    align-items:center;
}

.employee-list-actions a{
    white-space:nowrap;
}

.leave-date-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}


.leave-section label{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
    font-weight:600;
    color:#334155;
}

.leave-section label i{
    color:#0F4D3A;
    width:18px;
}
.leave-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 18px;
    background:linear-gradient(135deg,#FFFDF5,#FFF7D6);
    border:1px solid rgba(228,183,8,.45);
    border-radius:50px;
    color:#9A6700;
    font-size:13px;
    font-weight:700;
    letter-spacing:.2px;
    box-shadow:
        0 8px 20px rgba(228,183,8,.12),
        inset 0 1px 0 rgba(255,255,255,.9);
    transition:.3s ease;
}
.leave-badge:hover{
    transform:translateY(-2px);
    box-shadow:
        0 12px 24px rgba(228,183,8,.18);
}


.leave-badge i{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#F59E0B,#E4B708);
    color:#fff;
    font-size:13px;
    box-shadow:0 4px 10px rgba(245,158,11,.28);
    animation:badgePulse 2s infinite;
}
@keyframes badgePulse{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.08);
    }
}

.leave-date-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}
.leave-section .btn{

    margin-top:10px;

    width:100%;

    height:52px;

    border:none;

    border-radius:14px;

    background:linear-gradient(90deg,#165946,#1d7b5d,#d4a700);

    color:#fff;

    font-size:15px;

    font-weight:700;

    transition:.3s;

    cursor:pointer;

}
.leave-section .btn:hover{

    transform:translateY(-2px);

    box-shadow:
    0 14px 28px rgba(22,89,70,.18);

}

.leave-form-wrap form{
    margin-top:25px;
}

.leave-form-wrap .input-group{
    margin-bottom:22px;
}

.leave-form-wrap .input-group label{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
    font-size:14px;
    font-weight:600;
    color:#334155;
}

.leave-form-wrap .input-group label i{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(255,255,255,.8);
    color:#165946;
    border:1px solid rgba(22,89,70,.15);
    backdrop-filter:blur(10px);
    box-shadow:0 6px 15px rgba(0,0,0,.06);
}

.leave-form-wrap .input-group input,
.leave-form-wrap .input-group select,
.leave-form-wrap .input-group textarea{
    width:100%;
    padding:15px 16px;
    border:1px solid #dbe5df;
    border-radius:14px;
    background:#fff;
    transition:.3s;
    box-sizing:border-box;
}

.leave-form-wrap .input-group textarea{
    min-height:130px;
    resize:vertical;
}

.leave-form-wrap .input-group input:focus,
.leave-form-wrap .input-group select:focus,
.leave-form-wrap .input-group textarea:focus{
    border-color:#165946;
    box-shadow:0 0 0 4px rgba(22,89,70,.08);
    outline:none;
}

.leave-form-wrap .leave-date-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.leave-form-wrap .btn{
    width:100%;
    margin-top:8px;
    padding:15px;
    border:none;
    border-radius:14px;
    background:linear-gradient(135deg,#165946,#0F4738);
    color:#fff;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
}

.leave-form-wrap .btn:hover{
    transform:translateY(-2px);
}

.employee-card-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:100%;
    gap:20px;
}

.attendance-title-wrap{
    display:flex;
    align-items:center;
    gap:18px;
    width:100%;
}

/*=========================
   Attendance Table
=========================*/

.attendance-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    background:#ffffff;

    border:1px solid #e2e8f0;
    border-radius:16px;
    overflow:hidden;

    box-shadow:
        0 4px 18px rgba(15,23,42,.05),
        0 1px 3px rgba(15,23,42,.04);

    font-size:13px;
    color:#263238;

    table-layout:fixed;
}

.attendance-table th{
    
    background:#f8fafc;

    color:#475569;

    font-size:11px;
    font-weight:800;

    text-transform:uppercase;
    letter-spacing:.55px;

    padding:14px 14px;

    text-align:left;

    border-bottom:1px solid #dfe5ec;

    white-space:nowrap;
}

/* Remove Blue Total Hours Header */

.attendance-table th.total-hours-col{
    background:linear-gradient(135deg,#0F6B50,#198A67) !important;
    color:#fff !important;
}

.attendance-table td{
   padding:16px 14px;

    border-bottom:1px solid #edf1f5;

    color:#475569;

    vertical-align:middle;

    background:#ffffff;

    font-size:13px;
}

.attendance-table td:first-child{
    border-left:1px solid #E8EEF5;
    border-radius:14px 0 0 14px;
}
/* =========================================================
   LAST ROW
========================================================= */

.attendance-table tr:last-child td{
    border-bottom:none;
}
.attendance-table td:last-child{
    min-width:260px;
    font-size:12px;
    line-height:1.8;
    color:#475569;
}

/* =========================================================
   EMPLOYEE
========================================================= */

.attendance-table .emp-info{
    display:flex;

    align-items:center;

    gap:10px;

    min-width:150px;
}
.attendance-table .emp-name{

    font-size:15px  !important;;

    font-weight:700  !important;;

    color:#172b2f !important;
    
    line-height:1.5 !important;

    white-space:nowrap;
}

.attendance-table .kas-history-status{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:5px;

    min-width:62px;

    padding:6px 11px !important;

    border-radius:6px;

    font-size:12px !important;

    font-weight:700 !important;

    line-height:1.3 !important;

    white-space:nowrap;
}
.attendance-table .kas-history-status i{
    font-size:7px !important;
}

.attendance-table tr:nth-child(even){

    background:#fafcfc;

}
.attendance-table tr:hover{

    background:#eefaf4;

}
.attendance-table tbody tr:hover td,
.attendance-table tr:hover td{

    background:#f8fbff;

    transition:.2s ease;
}


.attendance-table th:first-child{

     border-radius:12px 0 0 12px;
     border-top-left-radius:16px;

}

.attendance-table th:last-child{

    border-radius:0 12px 12px 0;
     border-top-right-radius:16px;
}
/* =========================================================
   TOTAL HOURS COLUMN
========================================================= */

.attendance-table th:last-child {

    text-align: center;

}


.attendance-table td:last-child {

    text-align: center;

}


/* =========================================================
   EMPTY VALUE
========================================================= */

.attendance-table .empty {

    color: #cbd5e1;

    font-size: 14px !important;

    font-weight: 400;

    opacity: .85;
}
/* =========================================================
   LOCATION - LIGHT PREMIUM
========================================================= */

.attendance-table .location-card {

   display: inline-flex;

    align-items: center;

    gap: 6px;

    min-height: 28px;

    padding: 3px 5px;

    box-sizing: border-box;

    background: #ffffff;

    border: 1px solid #e5ebef;

    border-radius: 8px;

    box-shadow:
        0 2px 5px rgba(15, 23, 42, .025);

    transition: all .2s ease;
}

.attendance-table .location-card:hover {

    background: #fbfefd;

    border-color: #c8e1dc;

    transform: translateY(-1px);

    box-shadow:
        0 5px 12px rgba(15, 23, 42, .06);

}
/* Map button */

.attendance-table .map-btn {

   display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 4px;

    height: 22px;

    padding: 0 7px;

    box-sizing: border-box;

    border-radius: 5px;

    background: #087f72;

    color: #ffffff !important;

    font-size: 8px !important;

    font-weight: 700;

    text-decoration: none !important;

    white-space: nowrap;

    transition: all .2s ease;
}
.attendance-table .map-btn i {

    font-size: 8px;

}
.attendance-table .map-btn:hover {

    background: #066b60;

    transform: translateY(-1px);

    box-shadow:
        0 4px 9px rgba(8, 127, 114, .18);
}
/* Coordinates */

.attendance-table .latlng {

      max-width: 72px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    color: #a0acb8;

    font-size: 6.5px !important;

    font-weight: 500;

}
/* =========================================================
   EMPLOYEE NAME
========================================================= */

.attendance-table .emp-name {

    color: #1e293b;

    font-size: 11px !important;

    font-weight: 700;

    letter-spacing: .05px;

    transition: color .2s ease;

}
.attendance-table tbody tr:hover .emp-name {
    color: #087f72;
}


.attendance-table thead th{

    height: 42px;

     padding:13px 12px !important;

    background:linear-gradient(
        135deg,
        #087f5b,
        #0b9366
    ) !important;


    color:#ffffff !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-transform: uppercase;
    letter-spacing: .65px;

    border-top: 1px solid #e8edf2;
    border-bottom: 1px solid #e2e8f0;

    white-space: nowrap;

    text-align: center;

}

.attendance-table tbody td{
    
   padding:15px 12px !important;

    font-size:13px !important;
    font-weight:500 !important;

    color:#263238 !important;

    line-height:1.5 !important;

    text-align:center;
    vertical-align:middle;

    border-bottom:1px solid #e5ebea;

}

.attendance-table tbody tr:hover td{
      background:#f8fafc;
}

.attendance-table tbody tr{

      transition:background .18s ease;

}
/* Keep Hours Background White */

.attendance-table tbody tr:hover .total-hours-col{
    background:#F7FBF9 !important;
}


.attendance-table tbody tr:hover{

     background:#f8fbff;

}

.attendance-table tbody tr:last-child td{

    border-bottom:none;

}
/* =========================================================
   DATE
========================================================= */

.attendance-date{
     font-weight:700;

    color:#243b53 !important;
}
/* =========================================================
   LUNCH HOURS
========================================================= */

.lunch-hours-cell{
      color:#64748b !important;
}
/* =========================================================
   TOTAL HOURS COLUMN
========================================================= */

.total-hours-col{
    background:#f0f6ff;
}
/* =========================================================
   TOTAL HOURS
========================================================= */

.attendance-total-cell{
    font-weight:700;

    color:#176c55 !important;

    background:#fbfdfc !important;
}
/* =========================================================
   TOTAL HOURS TEXT
========================================================= */

.attendance-hours{
    font-weight:700;
    color:#0756d6;
}
/* =========================================================
   STATUS BADGE COMMON
========================================================= */

.attendance-status{
    display:inline-block;

    align-items:center;
    justify-content:center;

    min-width:68px;

    padding:5px 11px;

    border-radius:20px;

    font-size:12px;

    font-weight:700;

    line-height:1;

    white-space:nowrap;
}


/* PRESENT */

.attendance-status.present{
    background:#dcfce7;
    color:#15803d;
}


/* ABSENT */

.attendance-status.absent{
    background:#fee2e2;
    color:#b91c1c;
}
/* LEAVE */

.attendance-status.leave{
    background:#fef3c7;
    color:#b45309;
}


/* HOLIDAY */

.attendance-status.holiday{
    background:#dbeafe;
    color:#1d4ed8;
}


/* SUNDAY */

.attendance-status.sunday{
    background:#f3e8ff;
    color:#7e22ce;
}
/* =========================================
   STATUS DOT
========================================= */

.status-dot.present{
    background:#16a34a !important;
}

.status-dot.absent{
    background:#dc2626 !important;
}

.status-dot.leave{
    background:#f59e0b !important;
}

.status-dot.holiday{
    background:#2563eb !important;
}

.status-dot.sunday{
    background:#9333ea !important;
}


/* Employee */

.emp-info{

    display:flex;

    align-items:center;

     gap:10px;

}

.emp-name{

    font-weight:600;

    color:#172033;

}


/* Status Dot */

.status-dot{

    width:9px;
    height:9px;
    border-radius:50%;
    flex-shrink:0;

}

.status-present{

  background:#dcfce7;

    color:#15803d;

}

.status-absent{

    background:#fee2e2;
    color:#dc2626;
}
/* =========================================================
   SUNDAY
========================================================= */

.status-sunday{
    background:#eef2f7;
    color:#64748b;
}
/* =========================================================
   HOLIDAY
========================================================= */

.status-holiday{
    background:#fef3c7;
    color:#a16207;
}
/* =========================================================
   LEAVE
========================================================= */

.status-leave{
    background:#ede9fe;
    color:#7c3aed;
}
/* =========================================================
   HALF DAY
========================================================= */

.status-halfday{
    background:#ffedd5;
    color:#c2410c;
}
/* =========================================================
   NO DATA
========================================================= */

.attendance-empty{
    padding:45px 20px !important;

    text-align:center !important;

    color:#64748b !important;
}

.attendance-empty-icon{
    margin-bottom:8px;

    font-size:25px;

    color:#94a3b8;
}

.attendance-empty strong{
    display:block;

    font-size:13px;

    color:#475569;
}

.attendance-empty span{
    display:block;

    margin-top:5px;

    font-size:11px;

    color:#94a3b8;
}
/* =========================================================
   PAGINATION
========================================================= */

.attendance-pagination{
    display:flex;

    justify-content:center;
    align-items:center;

    gap:5px;

    margin-top:18px;
}
.attendance-pagination a{
      display:inline-flex;

    align-items:center;
    justify-content:center;

    min-width:32px;

    height:32px;

    padding:0 10px;

    box-sizing:border-box;

    border:1px solid #dce3ea;

    border-radius:7px;

    background:#ffffff;

    color:#475569;

    text-decoration:none;

    font-size:10px;

    font-weight:600;

    transition:.2s ease;
}
.attendance-pagination a:hover{
     border-color:#176c55;

    color:#176c55;

    background:#f3faf7;
}
.attendance-pagination a.active{
   background:linear-gradient(
        135deg,
        #176c55,
        #d6b914
    );

    color:#ffffff;

    border-color:#176c55;
}
/* =========================================================
   MY ATTENDANCE - DESKTOP TABLE
========================================================= */

.my-attendance-box{
    background:#ffffff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:20px;
}
/* =========================================================
   HEADER
========================================================= */

.attendance-page-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:20px;
}

.attendance-page-header h2{
    margin:0;
    font-size:21px;
    font-weight:700;
    color:#17324d;
}

.attendance-page-header p{
    margin:5px 0 0;
    font-size:12px;
    color:#7a8794;
}
/* =========================================================
   FILTER
========================================================= */

.attendance-filter{
    display:flex;
    align-items:flex-end;
    gap:12px;

    padding:15px;

    margin-bottom:18px;

    background:#f8fafc;

    border:1px solid #e6ebf0;

    border-radius:12px;
}
.attendance-month-field{
    display:flex;
    flex-direction:column;
    gap:6px;

    width:220px;
}
.attendance-month-field label{
    font-size:11px;
    font-weight:700;
    color:#64748b;
}
.attendance-month-field input{
    width:100%;
    height:40px;

    box-sizing:border-box;

    padding:0 11px;

    border:1px solid #d7dee7;

    border-radius:8px;

    background:#ffffff;

    color:#334155;

    font-size:12px;

    outline:none;
}
.attendance-month-field input:focus{
    border-color:#176c55;

    box-shadow:0 0 0 3px rgba(23,108,85,.08);
}

.attendance-filter-btn{
    height:40px;

    padding:0 26px;

    border:none;

    border-radius:8px;

    background:linear-gradient(
        135deg,
        #176c55,
        #1b7d62
    );

    color:#ffffff;

    font-size:12px;

    font-weight:700;

    cursor:pointer;

    transition:.2s ease;
}
.attendance-filter-btn:hover{
    transform:translateY(-1px);

    box-shadow:0 5px 12px rgba(23,108,85,.18);
}


.attendance-filter .input-group{
    flex:1;
    margin:0;
}
.attendance-filter input[type="month"]{
    width:100%;
    height:42px;
    padding:0 12px;

    border:1px solid #d9e2ea;
    border-radius:8px;

    background:#ffffff;
    color:#1e293b;

    font-size:13px;
    outline:none;

    box-sizing:border-box;
}
.attendance-filter input[type="month"]:focus{
    border-color:#19745c;
    box-shadow:0 0 0 3px rgba(25,116,92,.08);
}

.attendance-filter .btn{
    height:42px;
    min-width:100px;

    border:none;
    border-radius:8px;

    cursor:pointer;

    font-weight:600;
}

/* =========================================================
   TABLE WRAPPER
========================================================= */

.attendance-table-wrapper{
    width:100%;

    overflow:hidden;

    border:1px solid #e5eaf0;

    border-radius:12px;

    background:#ffffff;
}

.attendance-table td:nth-child(3),
.attendance-table td:nth-child(4),
.attendance-table td:nth-child(5),
.attendance-table td:nth-child(6),
.attendance-table td:nth-child(7),
.attendance-table td:nth-child(8){
    text-align:center;
    white-space:nowrap;
     color:#334155;
}
.attendance-table td:nth-child(8){
      background:#FFFDF2;
    border-left:4px solid #E4B708;
}
.attendance-table td:nth-child(2){
    white-space:nowrap;
    font-weight:600;
     color:#334155;
}

/* Total Hours & lunch */

.attendance-table .total-hours-col{
    background:#fff !important;
    color:inherit;
}
/* Lunch Hours Badge */

.lunch-hours-badge{
 display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:62px;

    padding:6px 9px;

    border-radius:6px;

    background:#fffaf0;

    color:#b77900;

    border:1px solid #f3cf69;

    font-size:11px;
    font-weight:700;

    white-space:nowrap;
}
/* Total Hours Badge */

.total-hours-badge{
   display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:5px;

    color:#087f5b !important;

    font-size:13px !important;

    font-weight:700 !important;

    white-space:nowrap;
}

.total-hours-badge:hover{
     background:#FFF3BF;
    border-color:#E4B708;
    box-shadow:0 6px 16px rgba(228,183,8,.25);
}
.total-hours-badge i{
     color:#D4A506;
    font-size:12px;
}
.total-hours-badge strong{
   color:#B91C1C;
    font-weight:800;
    font-size:13px !important;
}

/* Empty Value */

.empty-value{
    color:#94A3B8;
    font-weight:500;
}

/* Location */

.attendance-location{
    min-width:170px;

    display:flex;

    flex-direction:column;

    gap:8px;

    text-align:left;
}

.attendance-location > div{
     display:grid;

    grid-template-columns:45px 1fr;

    align-items:center;

    gap:6px;
}


.location-label{
    display:inline-flex;
    align-items:center;
    gap:4px;

    color:#07865f !important;

    font-size:11px;
    font-weight:800;

    min-width:35px;
    
    white-space:nowrap;
}


.location-label.out{
    color:#dc2626 !important;
}


.location-address{
    color:#475569;

    font-size:11px;
    line-height:1.5;

    word-break:break-word;
}

.time-badge{
    
   display:inline-flex;

    align-items:center;

    gap:6px;

    padding:7px 10px;

    border-radius:8px;
     
    background:#f8fafc;

    color:#334155;

    border:1px solid #e2e8f0;

    font-size:11px;

    font-weight:700;

    white-space:nowrap;
}
.time-badge i{

    font-size:10px;

    color:#64748b;

}

/* Location Card */

.location-card{
  min-width:100px;

    max-width:120px;

    padding:8px;

    border-radius:10px;

    background:#ffffff;

    border:1px solid #e2e8f0;

    box-shadow:0 2px 8px rgba(15,23,42,.04);

    text-align:center;

    transition:.2s ease;
}

.location-card:hover{

  
    transform:translateY(-1px);

    border-color:#cbd5e1;

    box-shadow:0 5px 14px rgba(15,23,42,.08);
}

.map-btn{

  
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:5px;

    padding:6px 10px;

    border-radius:7px;

    background:#0f766e;

    color:#ffffff !important;

    text-decoration:none !important;

    font-size:10px;

    font-weight:750;

    box-shadow:0 2px 6px rgba(15,118,110,.15);

    transition:.2s ease;
}

.map-btn:hover{

    background:#115e59;

    transform:translateY(-1px);

    color:#ffffff !important;
}
.map-btn i{

    font-size:10px;
}


.latlng{
  
  margin-top:6px;

    color:#94a3b8;

    font-size:8px;

    line-height:1.35;

    word-break:break-all;
}


/* Hours */

.hours-badge{

   display:inline-flex;

    align-items:center;

    gap:5px;

    padding:7px 10px;

    border-radius:8px;

    background:#f0fdf4;

    color:#15803d;

    border:1px solid #bbf7d0;

    font-size:11px;

    font-weight:750;

    white-space:nowrap;

    box-shadow:none;

}
.hours-badge i{

    font-size:10px;
}


.empty{

    color:#94a3b8;

      font-size:14px;

    font-weight:500;

}

.attendance-summary{
    display:flex;
    justify-content:center;
    gap:12px;
    margin:18px 0 20px;
}

.present-box,
.absent-box{
   flex:1;
    background:#FFFBEA;
    border:1px solid #F6E05E;
    border-radius:12px;
    padding:12px 10px;
    text-align:center;
}

.present-box{
    border-left:5px solid #16A34A;
}

.absent-box{
   border-left:5px solid #DC2626;
}
.present-box .count,
.absent-box .count{
    display:block;
    font-size:26px;
    font-weight:700;
    line-height:1;
}


.present-box .count{
    color:#16A34A;
}

.absent-box .count{
    color:#DC2626;
}

.present-box .label,
.absent-box .label{
    display:block;
    margin-top:6px;
    font-size:13px;
    color:#64748B;
}
/*==========================
      DASHBOARD CARDS
==========================*/

.dashboard-cards{

  display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
      margin-top:34px;

}


/*==========================
    PREMIUM STATS CARD
==========================*/

.stats-card{

   min-height:250px;
    display:flex;
    flex-direction:column;
     position:relative;
    overflow:hidden;

    background:linear-gradient(
        135deg,
        #FFFFFF 0%,
        #FFFDF6 45%,
        #FFFAE8 100%
    );

    border:1px solid #F4E7A1;
    border-left:6px solid #E4B708;

    border-radius:22px;
    padding:28px;

    box-shadow:0 10px 30px rgba(22,89,70,.08);

    transition:.35s;

}

.stats-card:hover{

    transform:translateY(-6px);

     border-left-color:#165946;

    box-shadow:0 18px 40px rgba(22,89,70,.16);

}


/* Top */

.card-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

}


/* Icon */

.card-icon-wrap{

    width:60px;

    height:60px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,#165946,#0F4D3A);

    color:#fff;

    box-shadow:0 12px 25px rgba(22,89,70,.25);

}

.card-icon{

    font-size:26px;

}


/* Badge */

.card-badge{

    padding:6px 14px;

    border-radius:50px;

    background:#FFF8DB;

    border:1px solid #E4B708;

    color:#B7791F;

    font-size:12px;

    font-weight:700;

}


/* Heading */

.stats-card h3{

    margin:8px 0 12px;

    font-size:18px;

    font-weight:700;

    color:#0F172A;

}


/* Big Number */

.stats-card .big{

    font-size:48px;

    font-weight:800;

    color:#165946;

    line-height:1;

    margin-bottom:10px;

}


/* Text */

.stats-card p{

    margin-top:auto;

    color:#64748B;

    font-size:14px;

    line-height:1.6;

}


/* Decoration */

.card-wave{

    position:absolute;

    right:-45px;

    bottom:-45px;

    width:150px;

    height:150px;

    border-radius:50%;

    background:radial-gradient(circle,#E4B70835 0%,transparent 72%);

}

.attendance-card::before{

content:"";

position:absolute;

right:-60px;

top:-40px;

width:220px;

height:220px;

border-radius:50%;

background:

radial-gradient(circle,
rgba(228,183,8,.08),
transparent 70%);

pointer-events:none;

}


/* Left Border */

.total-employee-card{

    border-left:5px solid #E4B708;

}

.employee-card{
    border-left:6px solid #165946;
}
.attendance-card{
    border-left:6px solid #E4B708;
    position:relative;

    overflow:hidden;
}
.leave-card{
    border-left:6px solid #F97316;
}


.stats-card::before{

    content:"";

    position:absolute;

    width:220px;
    height:220px;

    top:-100px;
    right:-100px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(228,183,8,.15),
        transparent 70%
    );

}

.stats-card::after{

    content:"";

    position:absolute;

    width:150px;
    height:150px;

    left:-60px;
    bottom:-60px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(22,89,70,.08),
        transparent 70%
    );

}


/*==============================
    MANUAL ATTENDANCE
==============================*/

.manual-attendance-wrapper{

width:100%;

}

.manual-attendance-card{

background:#fff;

border:1px solid #E8ECEF;

border-radius:18px;

padding:30px;

box-shadow:0 12px 35px rgba(15,77,58,.08);

position:relative;

overflow:hidden;

}

.manual-attendance-card::before{

content:"";

position:absolute;

top:-80px;

right:-80px;

width:180px;

height:180px;

border-radius:50%;

background:radial-gradient(circle,#E4B70825 0%,transparent 70%);

}

.manual-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

padding-bottom:18px;

border-bottom:1px solid #EDF2F7;

}

.manual-header h2{

margin:0;

font-size:28px;

font-weight:700;

color:#165946;

}

.manual-header p{

margin-top:8px;

color:#64748B;

font-size:14px;

}

.manual-icon{

width:70px;

height:70px;

border-radius:18px;

background:linear-gradient(135deg,#165946,#0F4D3A);

display:flex;

align-items:center;

justify-content:center;

color:#fff;

font-size:28px;

box-shadow:0 10px 25px rgba(15,77,58,.25);

}

.manual-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.manual-group{

display:flex;

flex-direction:column;

}

.manual-group label{

margin-bottom:8px;

font-weight:600;

color:#334155;

font-size:14px;

}

.manual-group input,
.manual-group select{

height:48px;

padding:0 14px;

border:1px solid #DDE5EC;

border-radius:10px;

font-size:14px;

transition:.3s;

background:#fff;

}

.manual-group input:focus,
.manual-group select:focus{

outline:none;

border-color:#165946;

box-shadow:0 0 0 3px rgba(22,89,70,.12);

}

.manual-footer{

margin-top:30px;

display:flex;

justify-content:flex-end;

}

.manual-save-btn{

background:linear-gradient(135deg,#165946,#0F4D3A);

color:#fff;

border:none;

padding:14px 26px;

border-radius:12px;

font-size:15px;

font-weight:600;

cursor:pointer;

transition:.3s;

}

.manual-save-btn:hover{

transform:translateY(-2px);

background:linear-gradient(135deg,#0F4D3A,#165946);

box-shadow:0 12px 25px rgba(15,77,58,.25);

}

.manual-save-btn i{

margin-right:8px;

}

@media(max-width:768px){

.manual-grid{

grid-template-columns:1fr;

}

.manual-header{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

.manual-footer{

justify-content:center;

}

.manual-save-btn{

width:100%;

}

}

.status.sunday{
    background:#EDE9FE;
    color:#6D28D9;
    border:1px solid #C4B5FD;
}

.status.holiday{
    background:#DBEAFE;
    color:#1D4ED8;
    border:1px solid #93C5FD;
}

.status.leave{
    background:#FEF3C7;
    color:#B45309;
    border:1px solid #FCD34D;
}

.status.unknown{
    background:#F1F5F9;
    color:#64748B;
    border:1px solid #CBD5E1;
}

.employee-section{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:18px 20px;       /* પહેલાં 30px+ હશે */
    margin-bottom:20px;
    box-shadow:0 4px 18px rgba(15,23,42,.05);
    transition:.3s;
}

.employee-section:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(15,23,42,.08);
}

.form-section{
     display:flex;
    align-items:center;
    gap:12px;
     margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:1px solid #eef2f7;
}

.form-section i{
       width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:linear-gradient(135deg,#0f4d3a,#1b7d61);
    color:#fff;
    font-size:17px;
}

.form-section span{
    font-size:18px;
    font-weight:700;
    color:#0f172a;
}

.file-upload-box{
    border:2px dashed #D7E3DD;
    border-radius:12px;
    padding:15px;
    background:#F8FBFA;
    transition:.3s;
    text-align:center;
}

.file-upload-box:hover{
    border-color:#0F6B50;
    background:#F3FAF7;
}

.file-upload-box input[type=file]{
     width:auto;
    font-size:14px;
    color:#475569;
    cursor:pointer;
    display:inline-block;
}

.file-upload-box input[type=file]::file-selector-button{
    background:linear-gradient(135deg,#0F6B50,#17966F);
    color:#fff;
    border:none;
    padding:10px 18px;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    margin-right:12px;
    transition:.3s;
}

.file-upload-box input[type=file]::file-selector-button:hover{
    opacity:.9;
}

.upload-note{
    display:block;
    margin-top:8px;
    color:#64748B;
    font-size:12px;
}
.employee-form-header{
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:20px;
    padding:22px 25px;
    background:linear-gradient(135deg,#ffffff,#f8fafc);
    border:1px solid #e5e7eb;
    border-radius:18px;
    box-shadow:0 8px 25px rgba(15,23,42,.06);
}

.employee-form-icon{
    width:70px;
    height:70px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#0f4d3a,#1b7d61,#2ea67d);
    color:#fff;
    font-size:30px;
    flex-shrink:0;
    box-shadow:0 10px 25px rgba(15,77,58,.25);
}

.employee-form-header h2{
    margin:0;
    font-size:28px;
    font-weight:700;
    color:#0f172a;
    line-height:1.2;
}

.employee-form-header p{
    margin:6px 0 0;
    font-size:14px;
    color:#64748b;
    line-height:1.6;
}
@media (max-width:768px){

.employee-form-header{
    padding:18px;
    gap:15px;
}

.employee-form-icon{
    width:55px;
    height:55px;
    font-size:24px;
    border-radius:14px;
}

.employee-form-header h2{
    font-size:22px;
}

.employee-form-header p{
    font-size:13px;
}

}
.employee-form-header p{
    margin:6px 0 0;
    font-size:14px;
    font-weight:500;
    color:#64748b;
    line-height:1.6;
    letter-spacing:.2px;
}

/* ==========================
   Employee List Table
========================== */

.employee-list-table{
    margin-top:35px;
    padding:28px;
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 35px rgba(15,107,80,.08);
    border:1px solid #e8edf3;
}

.employee-list-title{
    margin:0 0 22px;
    font-size:30px;
    font-weight:700;
    color:#1e293b;
}

.employee-search{
    width:100%;
    padding:15px 18px;
    border:none;
    border-radius:14px;
    background:#eef2ff;
    margin-bottom:22px;
    font-size:14px;
}

.employee-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 14px;   /* Row Gap */
}

.employee-table th{
    padding:18px 15px;
    background:#f5f7ff;
    color:#475569;
    font-size:14px;
    font-weight:700;
    text-align:left;
}

.employee-table th:first-child{
    border-radius:12px 0 0 12px;
}

.employee-table th:last-child{
    border-radius:0 12px 12px 0;
}

.employee-table td{
    padding:18px 15px;
    background:#fff;
    border-top:1px solid #edf2f7;
    border-bottom:1px solid #edf2f7;
    vertical-align:middle;
}

.employee-table td:first-child{
    border-left:1px solid #edf2f7;
    border-radius:14px 0 0 14px;
}

.employee-table td:last-child{
    border-right:1px solid #edf2f7;
    border-radius:0 14px 14px 0;
}

.employee-table tbody tr{
    transition:.25s;
}

.employee-table tbody tr:hover td{
    background:#f9fdfb;
    transform:translateY(-1px);
}

.employee-table .avatar{
    width:58px;
    height:58px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #fff;
    box-shadow:0 4px 12px rgba(0,0,0,.12);
}

/* ==========================
   Leave List Table
========================== */

.leave-list-table{
    padding:28px;
}

.leave-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0 14px;      /* Row Gap */
}

.leave-table th{
    padding:18px 16px;
    background:linear-gradient(135deg,#0F6B50,#17966F);
    color:#fff;
    font-size:14px;
    font-weight:600;
    text-align:center;
    white-space:nowrap;
    border:none;
}

.leave-table th:first-child{
    border-radius:12px 0 0 12px;
}

.leave-table th:last-child{
    border-radius:0 12px 12px 0;
}

.leave-table td{
    padding:18px 16px;
    background:#fff;
    border-top:1px solid #E8EEF5;
    border-bottom:1px solid #E8EEF5;
    vertical-align:middle;
    line-height:1.6;
}

.leave-table td:first-child{
    border-left:1px solid #E8EEF5;
    border-radius:14px 0 0 14px;
    font-weight:600;
}

.leave-table td:last-child{
    border-right:1px solid #E8EEF5;
    border-radius:0 14px 14px 0;
}

.leave-table tbody tr{
    transition:.25s;
}

.leave-table tbody tr:hover td{
    background:#FAFCFE;
}

/* Date */

.date-range{
    display:inline-block;
    line-height:1.8;
    font-weight:600;
    color:#0F6B50;
}

/* Reason */

.leave-table td:nth-child(4){
    min-width:240px;
    line-height:1.7;
}

/* Applied Date */

.leave-table td:nth-child(5){
    white-space:nowrap;
    color:#64748B;
}

/* Status */

.leave-status{
    text-align:center;
}

/* Remarks */

.remark-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
}

.remark-box{
    width:160px;      /* પહેલાં 220px હતું */
    min-width:160px;
    max-width:160px;
    min-height:75px;
    padding:10px;
    border:1px solid #D8E2EC;
    border-radius:10px;
    resize:vertical;
}

.remark-save-btn{
    align-self:flex-start;
}

/* Action */

.leave-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
}
.leave-date{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    font-weight:600;
    color:#0F6B50;
    line-height:1.4;
}

.leave-date i{
    color:#94A3B8;
    font-size:12px;
}
/* ===============================
   EMPLOYEE ATTENDANCE HISTORY
================================*/

.employee-history-card{

background:#fff;

padding:28px;

border-radius:20px;

box-shadow:0 12px 35px rgba(0,0,0,.08);

margin-bottom:25px;

border:1px solid #edf2f7;

}

.employee-history-title{

display:flex;

align-items:center;

gap:18px;

margin-bottom:22px;

}

.history-icon{

    width:60px;
    height:60px;
    border-radius:18px;

    background:linear-gradient(135deg,#0F4D3A,#1F7A5C,#E4B708);

    display:flex;
    justify-content:center;
    align-items:center;

    flex-shrink:0;

    color:#fff;
    font-size:24px;

    box-shadow:0 10px 20px rgba(22,89,70,.20);
}

.history-icon i{
    font-size:24px;
    line-height:1;
}

.employee-history-title h2{

margin:0;

font-size:30px;

font-weight:700;

color:#102a43;

}

.employee-history-title p{

margin-top:5px;

color:#64748b;

font-size:14px;

}

.history-search{

    display:flex;
    align-items:flex-end;
    gap:15px;
    flex-wrap:wrap;

}
.history-field{

flex:1;
 min-width:220px;

}

.history-field label{

    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:#374151;
}

.history-field input,
.history-field select{

    width:100%;
    height:52px;
    border:1px solid #dcdfe6;
    border-radius:10px;
    padding:0 15px;
    font-size:15px;
    background:#fff;

}

.history-search select{

flex:1;

height:55px;

border-radius:12px;

padding:0 18px;

border:1px solid #dbe4ec;

font-size:15px;

outline:none;

transition:.3s;

}

.history-search select:focus{

border-color:#165946;

box-shadow:0 0 0 4px rgba(22,89,70,.10);

}

.history-search .btn{

  height:52px;
  padding:0 25px;
  white-space:nowrap;

}
.history-search-item{
    flex:1;
}

.history-search-item label{
    display:block;
    margin-bottom:8px;
    font-size:13px;
    font-weight:600;
    color:#475569;
}
.employee-summary{

    display:flex;
    align-items:center;
    gap:15px;
    background:#fff;
    padding:20px;
    border-radius:18px;
    margin:20px 0;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    flex-wrap:wrap;

}

.employee-avatar{

    width:70px;
    height:70px;
    border-radius:50%;
    overflow:hidden;
    background:#f4f4f4;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    color:#165946;

}

.employee-avatar img{

width:100%;

height:100%;

object-fit:cover;

}

.employee-details{

flex:1;

}

.employee-details h3{

margin:0;

font-size:22px;

}

.employee-details span{

color:#64748b;
font-size:14px;
}

.summary-box{

    min-width:90px;
    text-align:center;
    padding:12px;
    border-radius:12px;
    background:#f8fafc;

}

.summary-box strong{

display:block;
font-size:22px;
margin-bottom:5px;

}

.present strong{color:#16a34a;}
.absent strong{color:#dc2626;}
.leave strong{color:#d97706;}
.holiday strong{color:#2563eb;}
.sunday strong{color:#7c3aed;}


.status-late{
    background:#fff7ed;
    color:#c2410c;
}

/* ============================================================
   KAS - TODAY'S ATTENDANCE
   PREMIUM CORPORATE HRMS TABLE
   SINGLE / FINAL CSS
   ALL CLASSES ARE ISOLATED
   ============================================================ */

.kas-attendance-table-box{
    --kas-green:#005f52;
    --kas-green-dark:#004d45;
    --kas-green-light:#edf8f5;
    --kas-gold:#d4a928;
    --kas-gold-light:#fff9e8;
    --kas-text:#18302d;
    --kas-muted:#718582;
    --kas-border:#e4ecea;

    width:100%;
    margin:22px 0 25px;
    background:#fff;
    border:1px solid var(--kas-border);
    border-radius:18px;
    overflow:hidden;
    position:relative;
    box-shadow:0 10px 32px rgba(0,78,70,.09);
    font-family:"Poppins","Segoe UI",Arial,sans-serif;
}


/* ============================================================
   SUBTLE PREMIUM BACKGROUND
   ============================================================ */

.kas-attendance-table-box:before{
    content:"";
    position:absolute;
    top:108px;
    right:-80px;
    width:300px;
    height:300px;
    border-radius:50%;
    background:
        radial-gradient(
            circle,
            rgba(0,105,92,.055) 0%,
            rgba(0,105,92,0) 70%
        );
    pointer-events:none;
}


/* ============================================================
   HEADER
   ============================================================ */

.kas-attendance-table-header{
    min-height:108px;
    padding:21px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    position:relative;
    background:
        linear-gradient(
            135deg,
            #004c44 0%,
            #00695c 52%,
            #00564e 100%
        );
}


/* premium gold line */

.kas-attendance-table-header:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:linear-gradient(
        90deg,
        #c99e24,
        #f1cf55,
        #c99e24
    );
}


/* ============================================================
   TITLE
   ============================================================ */

.kas-attendance-table-title{
    display:flex;
    align-items:center;
    gap:16px;
    position:relative;
    z-index:1;
}

.kas-attendance-title-icon{
    width:54px;
    height:54px;
    flex:0 0 54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(242,195,53,.75);
    border-radius:14px;
    background:rgba(255,255,255,.055);
    color:#f2c335;
    font-size:21px;
    box-shadow:inset 0 0 18px rgba(255,255,255,.025);
}

.kas-attendance-title-icon i{
    animation:kasAttendanceIconFloat 3s ease-in-out infinite;
}

.kas-attendance-table-title h2{
    margin:0 0 4px;
    padding:0;
    color:#fff;
    font-size:22px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:-.2px;
}

.kas-attendance-table-title p{
    margin:0;
    padding:0;
   color:rgba(255,255,255,.78);
    font-size:11px;
    line-height:1.5;
    font-weight:400;
}

.kas-attendance-table th,
.kas-attendance-table td{

    vertical-align:middle;

}


/* ============================================================
   DATE
   ============================================================ */

.kas-attendance-date-box{
    min-width:180px;
    height:46px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:11px;
    background:rgba(255,255,255,.055);
    color:#fff;
    font-size:13px;
    font-weight:700;
    letter-spacing:.1px;
    white-space:nowrap;
    position:relative;
    z-index:1;
    backdrop-filter:blur(5px);
}

.kas-attendance-date-box i{
    color:#f4ca38;
    font-size:15px;
     animation:
        kasCalendarFloat 2.5s ease-in-out infinite;
}
@keyframes kasCalendarFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-2px);
    }

}



/* ============================================================
   TABLE
   ============================================================ */

.kas-attendance-table{
    width:100%;
    min-width:1080px;
    border-collapse:separate;
    border-spacing:0;
    table-layout:fixed;
    position:relative;
    z-index:1;
}


/* column widths */

.kas-attendance-table th:nth-child(1),
.kas-attendance-table td:nth-child(1){width:19%;}

.kas-attendance-table th:nth-child(2),
.kas-attendance-table td:nth-child(2){width:11%;}

.kas-attendance-table th:nth-child(3),
.kas-attendance-table td:nth-child(3){width:14%;}

.kas-attendance-table th:nth-child(4),
.kas-attendance-table td:nth-child(4){width:14%;}

.kas-attendance-table th:nth-child(5),
.kas-attendance-table td:nth-child(5){width:14%;}

.kas-attendance-table th:nth-child(6),
.kas-attendance-table td:nth-child(6){width:14%;}

.kas-attendance-table th:nth-child(7),
.kas-attendance-table td:nth-child(7){width:14%;}


/* ============================================================
   TABLE HEADER
   ============================================================ */

.kas-attendance-table thead th{
    height:58px;

    padding:0 15px;

    color:#ffffff;

    font-size:10.5px;

    line-height:1;

    font-weight:700;

    letter-spacing:.65px;

    text-transform:uppercase;

    vertical-align:middle;
}

.kas-attendance-table thead th:first-child{
    padding-left:28px;
}


/* ============================================================
   BODY
   ============================================================ */

.kas-attendance-table tbody td{
  height:78px;

    padding:11px 15px;

    color:#344f4b;

    font-size:12px;

    line-height:1.45;

    font-weight:500;
}

.kas-attendance-table tbody tr{
   transition:
        background .2s ease,
        box-shadow .2s ease;
}

.kas-attendance-table tbody tr:hover td{
    background:#f8fcfb;
}

.kas-attendance-table tbody tr:last-child td{
    border-bottom:0;
}

.kas-attendance-table tbody td:first-child{
    padding-left:28px;
}


/* ============================================================
   EMPLOYEE
   ============================================================ */

.kas-attendance-employee{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    min-height:48px;
    gap:3px;
}

.kas-attendance-employee-name{
    display:block;

   color:#122e2a;

    font-size:13px;
    line-height:1.35;

    font-weight:700;

    letter-spacing:0;

    white-space:nowrap;

    overflow:hidden;
    text-overflow:ellipsis;
}


/* ============================================================
   STATUS
   ============================================================ */

.kas-attendance-status-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:82px;
    padding:8px 11px;
    border-radius:9px;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    white-space:nowrap;
    letter-spacing:.05px;
}

.kas-attendance-status-badge i{
    font-size:10px;
}


/* present */

.kas-status-present{
    color:#087a57;
    background:#edf9f4;
    border:1px solid #d3eee4;
}

.kas-status-present i{
    color:#079968;
    animation:
        kasStatusPulse 2s ease-in-out infinite;
}
@keyframes kasStatusPulse{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.12);
    }

}

/* absent */

.kas-status-absent{
    color:#d83a3a;
    background:#fff2f2;
    border:1px solid #f5dddd;
}

.kas-status-absent i{
    color:#ed3636;
}


/* leave */

.kas-status-leave{
    color:#a96800;
    background:#fff8e8;
    border:1px solid #f1e2bd;
}

.kas-status-leave i{
    color:#d69616;
}


/* holiday */

.kas-status-holiday{
    color:#7052b5;
    background:#f6f1ff;
    border:1px solid #e6dcf8;
}

.kas-status-holiday i{
    color:#805fc8;
}


/* week off */

.kas-status-sunday{
    color:#526777;
    background:#f2f6f8;
    border:1px solid #e0e8ed;
}

.kas-status-sunday i{
    color:#63798b;
}


/* ============================================================
   TIME
   ============================================================ */

.kas-attendance-time-badge{
     min-height:34px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border:1px solid #d1e9e3;
    border-radius:9px;
    background:#f1faf7;
    color:#12695b;
    font-size:11px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
    letter-spacing:.1px;
     color:#008c75;
     transform-origin:center;
       animation:
        kasClockTick 2s ease-in-out infinite;
}

.kas-attendance-time-badge i{
    color:#00866f;
    font-size:10px;
    animation:kasAttendanceClock 2.5s ease-in-out infinite;
}
@keyframes kasClockTick{

    0%{
        transform:rotate(0deg) scale(1);
    }

    10%{
        transform:rotate(-12deg) scale(1.08);
    }

    20%{
        transform:rotate(12deg) scale(1.08);
    }

    30%{
        transform:rotate(-8deg) scale(1);
    }

    40%{
        transform:rotate(8deg) scale(1);
    }

    50%{
        transform:rotate(0deg) scale(1);
    }

    100%{
        transform:rotate(0deg) scale(1);
    }

}


/* ============================================================
   EMPTY
   ============================================================ */

.kas-attendance-empty{
    color:#9aa9a7;
    font-size:14px;
    font-weight:500;
    line-height:1;
}


/* ============================================================
   LOCATION
   ============================================================ */

.kas-attendance-location-card{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
}


/* ============================================================
   MAP BUTTON
   ============================================================ */

.kas-attendance-map-btn{
     min-width:94px;

    min-height:32px;

     padding:7px 11px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
     border:1px solid #d6a91d;
    border-radius:8px;
   background:
        linear-gradient(
            135deg,
            #fffdf4,
            #fff7d9
        );

   color:#765800;
    text-decoration:none;
   font-size:10.5px;
    line-height:1;
    font-weight:700;
    white-space:nowrap;
     box-shadow:
        0 3px 8px rgba(205,163,29,.10);

      transition:
        all .22s ease;

}

.kas-attendance-map-btn:hover{
   background:#fff1bc;
   color:#674d00;
    border-color:#c99e20;
   transform:translateY(-2px);
   box-shadow:
        0 6px 14px rgba(205,163,29,.20);

}

.kas-attendance-map-btn i{
    color:#c49309;
    font-size:11px;
      animation:
        kasMapPin 1.8s ease-in-out infinite;
}
@keyframes kasMapPin{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-3px);
    }

}

/* ============================================================
   LAT / LNG
   ============================================================ */

.kas-attendance-latlng{
    display:block;
    width:auto;
    max-width:145px;
    margin-top:2px;
    padding:4px 7px;
    border-radius:5px;
    background:#f6f9f8;
    border:1px solid #e2ebe8;
    color:#657b76;
    font-family:
        "Consolas",
        "Courier New",
        monospace;
    font-size:9px;
    line-height:1.35;
    font-weight:500;
    letter-spacing:.1px;
    white-space:normal;
    word-break:break-all;
}


/* ============================================================
   TOTAL HOURS
   ============================================================ */

.kas-attendance-hours-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:88px;
    min-height:35px;
    padding:8px 12px;
    border-radius:9px;
    background:#eaf9f2;
      border:1px solid #c9eadc;
    color:#057c59;
   font-size:11.5px;
    line-height:1;
      font-weight:750;
       letter-spacing:.1px;
    white-space:nowrap;
    box-shadow:0 2px 7px rgba(7,132,93,.06);
}

.kas-attendance-hours-badge i{
   color:#008e69;

    font-size:11px;

    animation:
        kasClockTick 2s ease-in-out infinite;

}


/* ============================================================
   ANIMATIONS
   ============================================================ */

@keyframes kasAttendanceIconFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-2px);
    }

}

@keyframes kasAttendancePulse{

    0%,100%{
        transform:scale(1);
        opacity:1;
    }

    50%{
        transform:scale(1.12);
        opacity:.72;
    }

}

@keyframes kasAttendanceClock{

    0%,100%{
        transform:rotate(0deg);
    }

    25%{
        transform:rotate(-7deg);
    }

    75%{
        transform:rotate(7deg);
    }

}

@keyframes kasAttendanceMap{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-2px);
    }

}


/* ============================================================
   SCROLLBAR
   ============================================================ */

.kas-attendance-table-box::-webkit-scrollbar{
    height:7px;
}

.kas-attendance-table-box::-webkit-scrollbar-track{
    background:#edf4f2;
}

.kas-attendance-table-box::-webkit-scrollbar-thumb{
    background:#087668;
    border-radius:20px;
}

.kas-attendance-table-box::-webkit-scrollbar-thumb:hover{
    background:#005c51;
}
/* ============================================================
   KAS ATTENDANCE - TABLE HEADER GREEN FIX
   ============================================================ */

.kas-attendance-table thead th {
    background: #005f52 !important;
    color: #ffffff !important;

    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .65px;

    border: none !important;
}

/* First header cell */
.kas-attendance-table thead th:first-child {
    background: #005f52 !important;
    color: #ffffff !important;
}

/* Every header cell */
.kas-attendance-table thead tr {
    background: #005f52 !important;
}

.kas-attendance-table thead {
    background: #005f52 !important;
}

/* ============================================================
   KAS ATTENDANCE HISTORY TABLE
   ONLY FOR THIS ATTENDANCE TABLE
   ============================================================ */


/* ============================================================
   TABLE SCROLL
   ============================================================ */

.attendance-table-scroll {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
}


/* ============================================================
   TABLE
   ============================================================ */

.attendance-table {
    width: 100%;
    min-width: 1250px;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
    font-family: "Poppins", sans-serif;
}


/* ============================================================
   HEADER
   ============================================================ */

.attendance-table thead tr {
      background: linear-gradient(
        135deg,
        #086b59 0%,
        #087a60 45%,
        #119447 100%
    );
}

.attendance-table thead th {
    height: 48px;
    padding: 0 16px;
    color: #ffffff;
      background: linear-gradient(
        135deg,
        #086b59 0%,
        #087a60 45%,
        #119447 100%
    );

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
    border: none;
    border-bottom: 2px solid #e5b900;
}

.attendance-table thead th:first-child {
    border-top-left-radius: 10px;
}

.attendance-table thead th:last-child {
    border-top-right-radius: 10px;
}


/* ============================================================
   TABLE BODY
   ============================================================ */

.attendance-table tbody tr {
    background: #ffffff;
    transition:
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.attendance-table tbody tr:hover {
    background: #f7fcfa;
}

.attendance-table tbody td {
    height: 58px;
    padding: 12px 16px;
    color: #263238;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    vertical-align: middle;
    border-bottom: 1px solid #e7ecea;
    white-space: nowrap;
}


/* ============================================================
   EMPLOYEE
   ============================================================ */

.attendance-table .emp-info {
    display: flex;
    align-items: center;
    min-width: 125px;
}

.attendance-table .emp-name {
   color: #263238;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0.1px;
}


/* ============================================================
   STATUS
   ============================================================ */

.attendance-table .kas-history-status {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 5px;

    min-width: 72px;

    padding: 6px 10px;

    border-radius: 7px;

    font-size: 10px;
    font-weight: 700;

    line-height: 1;

    white-space: nowrap;

    border: 1px solid transparent;
}


/* STATUS DOT */

.attendance-table .kas-history-status i {
    font-size: 6px;
}


/* PRESENT */

.attendance-table .kas-history-status-present {
   color: #087a4b;
    background: #ecfdf5;
    border-color: #b7efd4;
}

.attendance-table .kas-history-status-present i {
     color: #16a66a;
}


/* ABSENT */

.attendance-table .kas-history-status-absent {
     color: #dc2626;
    background: #fff5f5;
    border-color: #ffcaca;
}

.attendance-table .kas-history-status-absent i {
    color: #ef4444;
}


/* LEAVE */

.attendance-table .kas-history-status-leave {
      color: #c26108;
    background: #fff8ed;
    border-color: #f9d8a8;
}

.attendance-table .kas-history-status-leave i {
    color: #f97316;
}


/* HOLIDAY */

.attendance-table .kas-history-status-holiday {
      color: #7044b5;
    background: #f7f3ff;
    border-color: #ddd0f5;
}

.attendance-table .kas-history-status-holiday i {
    color: #8b5cf6;
}


/* WEEK OFF */

.attendance-table .kas-history-status-weekoff {
   color: #536274;
    background: #f3f6f8;
    border-color: #d8e0e5;
}

.attendance-table .kas-history-status-weekoff i {
    color: #64748b;
}


/* ============================================================
   DATE / TIME
   ============================================================ */

.attendance-table tbody td:nth-child(3),
.attendance-table tbody td:nth-child(4),
.attendance-table tbody td:nth-child(5),
.attendance-table tbody td:nth-child(6),
.attendance-table tbody td:nth-child(7) {
    
    font-size: 13px;
    font-weight: 600;
    color:#344054 !important;
    text-align: center;
}
/* ============================================================
   DATE
   ============================================================ */

.attendance-table tbody td:nth-child(3) {
    color: #34495e;
    font-weight: 700;
}
/* ============================================================
   LUNCH HOURS
   ============================================================ */

.attendance-table .lunch-hours {
    text-align: center;
}

/* ============================================================
   LUNCH HOURS
   ============================================================ */

.attendance-table .lunch-hours-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 72px;
    padding: 6px 9px;
    border-radius: 6px;
    color: #9a5b00;
    background: #fffbeb;
    border: 1px solid #f4d98a;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}


/* ============================================================
   TOTAL HOURS
   ============================================================ */

.attendance-table .total-hours-col {
    text-align: center;
}

.attendance-table .total-hours-badge {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 5px;

    min-width: 86px;

    padding: 7px 10px;

    color: #087a4b;

    background: #ecfdf5;

    border: 1px solid #b9ead3;

    border-radius: 7px;

    font-size: 10px;
    font-weight: 700;

    white-space: nowrap;
}

.attendance-table .total-hours-badge i {
    font-size: 11px;
}

.attendance-table .total-hours-badge strong {
    color: #087a4b;

    font-size: 11px;
    font-weight: 800;
}


/* ============================================================
   EMPTY VALUES
   ============================================================ */

.attendance-table .empty-value {
     color: #a1adb5;

    font-size: 11px;
    font-weight: 600;
}

/*
   Location ne proper space aapva mate width increase
*/

.attendance-table thead th:last-child,
.attendance-table tbody td:last-child {

    min-width: 260px;
    width: 260px;
}

/* ============================================================
   LOCATION
   ============================================================ */

.attendance-table .attendance-location {
    width: 100%;
    min-width: 240px;

    display: flex;

    flex-direction: column;

    gap: 9px;

    padding: 2px 0;
}


/* LOCATION ROW */

.attendance-table .attendance-location > div {
    display: flex;

    align-items: flex-start;

    gap: 8px;

    min-height: 18px;
}


/* IN / OUT LABEL */

.attendance-table .location-label {
  flex: 0 0 38px;

    display: inline-flex;

    align-items: center;

    gap: 4px;

    color: #14865b;

    font-size: 9px;
    font-weight: 800;

    line-height: 18px;

    text-transform: uppercase;
}

.attendance-table .location-label i {
      font-size: 9px;

    flex-shrink: 0;
}


/* OUT */

.attendance-table .location-label.out {
    color: #e33434;
}


/* ADDRESS */

.attendance-table .location-address {
    flex: 1;

    max-width: 185px;

    color: #64748b;

    font-size: 10px;
    font-weight: 500;

    line-height: 1.45;

    white-space: normal;

    word-break: break-word;

    overflow-wrap: anywhere;
}


/* ============================================================
   LOCATION EMPTY
   ============================================================ */

.attendance-table .location-address:empty {
    display: none;
}

/* ============================================================
   FIRST / LAST ROW
   ============================================================ */

.attendance-table tbody tr:last-child td {
    border-bottom: none;
}

.attendance-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}

.attendance-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}


/* ============================================================
   SCROLLBAR
   ============================================================ */

.attendance-table-scroll::-webkit-scrollbar {
     height: 6px;
}

.attendance-table-scroll::-webkit-scrollbar-track {
    background: #edf2ef;
    border-radius: 10px;
}

.attendance-table-scroll::-webkit-scrollbar-thumb {
    background: #a9bbb2;
    border-radius: 10px;
}

.attendance-table-scroll::-webkit-scrollbar-thumb:hover {
      background: #087a60;
}

/* =========================
   STATUS
========================= */

.kas-history-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;

    min-width:58px;

    padding:5px 10px;

    border-radius:6px;

    font-size:11px;
    font-weight:700;

    line-height:1;

    white-space:nowrap;
}

.kas-history-status i{
    font-size:6px;
}
/* Present */

.kas-history-status-present{
    color:#087f5b;
    background:#ecfdf5;
    border:1px solid #a7f3d0;
}


/* Absent */

.kas-history-status-absent{
    color:#dc2626;
    background:#fff5f5;
    border:1px solid #fecaca;
}


/* Leave */

.kas-history-status-leave{
    color:#b45309;
    background:#fff8e7;
    border:1px solid #fde68a;
}


/* Sunday / Week Off */

.kas-history-status-sunday,
.kas-history-status-weekoff{
    color:#6d28d9;
    background:#f5f3ff;
    border:1px solid #ddd6fe;
}


/* Holiday */

.kas-history-status-holiday{
    color:#0369a1;
    background:#eff6ff;
    border:1px solid #bfdbfe;
}


/* =========================
   LUNCH HOURS
========================= */

.attendance-table .lunch-hours{
    background:linear-gradient(
        135deg,
        #087f5b,
        #0b9366
    );
}
/* Lunch column */

.attendance-table td:nth-child(7){
    background:#fffdf4;
}

/* ============================================================
   ATTENDANCE TABLE - HORIZONTAL SCROLLBAR
============================================================ */

.attendance-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}


/* Table should keep its proper width */

.attendance-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: separate;
}


/* ============================================================
   CUSTOM SCROLLBAR
============================================================ */

.attendance-table-wrapper::-webkit-scrollbar {
    height: 8px;
}

.attendance-table-wrapper::-webkit-scrollbar-track {
    background: #eef3f1;
    border-radius: 10px;
}

.attendance-table-wrapper::-webkit-scrollbar-thumb {
    background: #165946;
    border-radius: 10px;
}

.attendance-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #0f4b3c;
}


/* Firefox */

.attendance-table-wrapper {
    scrollbar-width: thin;
    scrollbar-color: #165946 #eef3f1;
}
/* ============================================================
   KAS ATTENDANCE TABLE
   HORIZONTAL SCROLLBAR
============================================================ */

.kas-attendance-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}


/* Table minimum width */

.kas-attendance-table-wrapper .kas-attendance-table {
    width: 100%;
    min-width: 1000px;
    border-collapse: separate;
}


/* ============================================================
   CUSTOM HORIZONTAL SCROLLBAR
============================================================ */

.kas-attendance-table-wrapper::-webkit-scrollbar {
    height: 8px;
}

.kas-attendance-table-wrapper::-webkit-scrollbar-track {
    background: #eef3f1;
    border-radius: 10px;
}

.kas-attendance-table-wrapper::-webkit-scrollbar-thumb {
    background: #165946;
    border-radius: 10px;
}

.kas-attendance-table-wrapper::-webkit-scrollbar-thumb:hover {
    background: #0f4b3c;
}


/* Firefox */

.kas-attendance-table-wrapper {
    scrollbar-width: thin;
    scrollbar-color: #165946 #eef3f1;
}

/* ============================================================
   ATTENDANCE TABLE HORIZONTAL SCROLLBAR
   ============================================================ */

.attendance-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;

    border-radius: 14px;
}


/* ============================================================
   TABLE
   ============================================================ */

.attendance-table-scroll .attendance-table {
    width: 100%;
    min-width: 1200px;
    border-collapse: separate;
    border-spacing: 0;
}


/* ============================================================
   HORIZONTAL SCROLLBAR
   ============================================================ */

.attendance-table-scroll::-webkit-scrollbar {
    height: 9px;
}

.attendance-table-scroll::-webkit-scrollbar-track {
    background: #eef3f1;
    border-radius: 20px;
}

.attendance-table-scroll::-webkit-scrollbar-thumb {
    background: #16805f;
    border-radius: 20px;
}

.attendance-table-scroll::-webkit-scrollbar-thumb:hover {
    background: #126b50;
}


/* ============================================================
   FIREFOX
   ============================================================ */

.attendance-table-scroll {
    scrollbar-width: thin;
    scrollbar-color: #16805f #eef3f1;
}
/* ============================================================
   EMPLOYEE ATTENDANCE STATUS BADGES
   PREMIUM CORPORATE STYLE
============================================================ */

.attendance-status-badge{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    min-width:88px;

    padding:7px 14px;

    border-radius:999px;

    font-size:12px;

    font-weight:700;

    line-height:1;

    letter-spacing:.2px;

    white-space:nowrap;

    border:1px solid transparent;

    transition:
        all .25s ease;

}


/* ============================================================
   PRESENT
============================================================ */

.attendance-status-badge.present{

    color:#137a4a;

    background:#e7f8ef;

    border-color:#bcebd2;

    box-shadow:
        0 3px 10px rgba(19,122,74,.08);

}


/* ============================================================
   ABSENT
============================================================ */

.attendance-status-badge.absent{

    color:#c62828;

    background:#fff0f0;

    border-color:#f4caca;

    box-shadow:
        0 3px 10px rgba(198,40,40,.07);

}


/* ============================================================
   LEAVE
============================================================ */

.attendance-status-badge.leave{

    color:#7450c8;

    background:#f1ebff;

    border-color:#ddd0ff;

    box-shadow:
        0 3px 10px rgba(116,80,200,.07);

}


/* ============================================================
   HOLIDAY
============================================================ */

.attendance-status-badge.holiday{

    color:#a66a00;

    background:#fff6d9;

    border-color:#f4dda0;

    box-shadow:
        0 3px 10px rgba(166,106,0,.07);

}


/* ============================================================
   SUNDAY / WEEK OFF
============================================================ */

.attendance-status-badge.sunday{

    color:#52708d;

    background:#eef4f8;

    border-color:#d5e1e9;

    box-shadow:
        0 3px 10px rgba(82,112,141,.06);

}


/* ============================================================
   HOVER
============================================================ */

.attendance-status-badge:hover{

    transform:translateY(-1px);

    box-shadow:
        0 5px 14px rgba(0,0,0,.10);

}



