@keyframes float {
    0% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
    100% { transform: translateY(0px); }
}

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


.animate-float { animation: float 4s ease-in-out infinite; }
.animate-slide-in { animation: slideIn 0.4s ease-out forwards; }





.btn-pop {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-pop::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #0D9488;
    z-index: -1;
    transition: height 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-pop:hover::after {
    height: 100%;
}
.btn-pop:hover, .btn-pop:active {
    color: white !important;
}

.glass-header { 
    background: rgba(255, 255, 255, 0.95); 
    border-bottom: 2px solid #0F172A; 
    transition: all 0.3s ease; 
}


/* === VISUAL POLISH: TYPOGRAPHY & MICRO-INTERACTIONS === */

/* Refined input states */
input:not([type="checkbox"]):not([type="radio"]), textarea, select {
    transition: all 0.2s cubic-bezier(0.23, 1, 0.32, 1);
}
input:not([type="checkbox"]):not([type="radio"]):focus, textarea:focus, select:focus {
    outline: none !important;
    border-color: #0D9488 !important;
    box-shadow: 4px 4px 0px 0px rgba(13, 148, 136, 0.2) !important;
    transform: translateY(-1px);
}

/* Subtle Table Polish */
table th {
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
    opacity: 0.85;
}
table tbody tr {
    transition: background-color 0.2s ease;
}
table tbody tr:hover {
    background-color: #F8FAFC;
}
.dark table tbody tr:hover {
    background-color: #1E293B;
}

/* KPI / Card Softness & Depth Tweaks */
.boxy-shadow { box-shadow: 4px 4px 0px 0px #0F172A; transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.boxy-shadow-sm { box-shadow: 3px 3px 0px 0px #0F172A; transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.boxy-shadow-hover:hover, .boxy-shadow:hover, .boxy-shadow-sm:hover { 
    box-shadow: 6px 6px 0px 0px #0D9488 !important; 
    transform: translate(-2px, -2px); 
}

.boxy-shadow:active, .boxy-shadow-sm:active, .boxy-shadow-hover:active {
    transform: translate(1px, 1px);
    box-shadow: 2px 2px 0px 0px #0F172A !important;
}

/* Subtle Active Nav State */
nav a.bg-surface-container-high {
    border-left: 3px solid #0D9488;
    padding-left: calc(0.75rem - 3px) !important;
}

/* Button micro-interactions */
.btn-pop:hover {
    filter: brightness(1.05);
}
.btn-pop:active {
    filter: brightness(0.95);
}

/* === PREMIUM SAAS REFINEMENT === */
/* Remove brutalist shadows, use clean diffuse shadows */
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025) !important; }
.shadow-xl { box-shadow: 0 20px 25px -5px rgba(13, 148, 136, 0.15), 0 10px 10px -5px rgba(13, 148, 136, 0.04) !important; }

/* Clean Input Fields */
input, textarea, select {
    border-radius: 0.5rem !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05) !important;
}
input:focus, textarea:focus, select:focus {
    border-color: #0D9488 !important;
    box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15) !important;
    transform: translateY(0) !important;
}

/* Button CTA Pop overrides */
.btn-pop::after { display: none !important; } /* Remove brutalist slide effect */
.btn-pop {
    background: linear-gradient(to bottom, #0D9488, #0F766E) !important;
    border: 1px solid #115E59 !important;
    color: white !important;
    text-shadow: 0 1px 1px rgba(0,0,0,0.2);
    font-weight: 700 !important;
}
.btn-pop:hover {
    background: linear-gradient(to bottom, #14B8A6, #0D9488) !important;
    box-shadow: 0 10px 15px -3px rgba(13, 148, 136, 0.3) !important;
}

/* KPI Cards - Enhance Visual Importance */
#stat-active-jobs, #stat-total-applicants, #stat-interviews, #stat-hires {
    font-size: 2.5rem !important;
    font-weight: 900 !important;
    letter-spacing: -0.03em !important;
}

/* Sidebar Muting */
aside p { opacity: 0.8; }
aside h4 { opacity: 0.9; }

/* Table Readability */
table th {
    text-transform: uppercase;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #64748B !important;
    letter-spacing: 0.05em !important;
}
