@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css');

body {font-family: 'Inter', sans-serif;}
.modal-hidden {display: none !important;}
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    inset: 0;
    background-color: black;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}
@keyframes fadeIn {
    from {opacity: 0; transform: scale(0.95);}
    to {opacity: 1; transform: scale(1);}
}
.modal-content { animation: fadeIn 0.2s ease-out; max-height: 80vh; overflow-y: auto; }

button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

h1 {text-align: center; margin-bottom: 2rem;}
a {text-decoration: none;}

/* Button Size */
.btn-lg {padding: 14px 28px; font-size: 1.25rem; border-radius: 14px;}
/* Gradient Button */
.btn-gradient {
  border: none;
  color: white;
  padding: 10px 20px;
  border-radius: 12px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.btn-gradient:hover {transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);}

/* Button Gradient Colors */
.btn-orange {background: linear-gradient(to right, #f6d365, #fda085);}
.btn-orange:hover {background: linear-gradient(to right, #ff512f, #f09819);}

.btn-green {background: linear-gradient(to right, #56ab2f, #a8e063);}
.btn-green:hover {background: linear-gradient(to right, #52c234, #061700);}

.btn-gray {background: linear-gradient(to right, #6a85b6, #bac8e0);}
.btn-gray:hover {background: linear-gradient(to right, #485563, #29323c);}

.btn-red {background: linear-gradient(to right, #ff512f, #f09819);}
.btn-red:hover {background: linear-gradient(to right, #ed213a, #93291e);}

.btn-blue {background: linear-gradient(to right, #1fa2ff, #12d8fa);}
.btn-blue:hover {background: linear-gradient(to right, #0575e6, #021b79);}

/* Gradient Colors */
.gr-bg-green {background: linear-gradient(to right, #56ab2f, #a8e063);}
.gr-bg-green-h {background: linear-gradient(to right, #52c234, #061700);}

.gr-bg-gray {background: linear-gradient(to right, #6a85b6, #bac8e0);}
.gr-bg-gray-h {background: linear-gradient(to right, #485563, #29323c);}

.gr-bg-red {background: linear-gradient(to right, #ff512f, #f09819);}
.gr-bg-red-h {background: linear-gradient(to right, #ed213a, #93291e);}

.gr-bg-blue {background: linear-gradient(to right, #1fa2ff, #12d8fa, #a6ffcb);}
.gr-bg-blue-h {background: linear-gradient(to right, #0575e6, #021b79);}

.gr-bg-orange {background: linear-gradient(to right, #f6d365, #fda085);}
.gr-bg-white {background: linear-gradient(to right, #e3f2fd, #f1f8ff); /* Light blue gradient */}

/* Amount Pending Field */
.pending-green {color: green;}
.pending-red {color: red;}

/* Text Outline */
.text-outline {text-shadow: -1px -1px 0 var(--outline-color), 1px -1px 0 var(--outline-color), -1px  1px 0 var(--outline-color), 1px  1px 0 var(--outline-color);}

/* Specific outline color modifiers */
.text-outline-black { --outline-color: #000; }
.text-outline-white { --outline-color: #fff; }
.text-outline-green { --outline-color: #1db30f; }
.text-outline-red   { --outline-color: #eb1919; }
.text-outline-blue  { --outline-color: #2563eb; }


/* Card Styles */
/* Grid layout */
.gridlayout {
  @apply grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3;
}

.gridlayout {display: grid; gap: 1.5rem; grid-template-columns: 1fr;  /* Mobile default: 1 per row */}
.card-summary {border-radius: 1rem; background: #f8f9fa; transition: transform 0.2s ease-in-out;}
.card-summary:hover {transform: scale(1.02);}
.card {
  background: linear-gradient(to right, #30cfd0, #330867);
  border-radius: 16px;
  padding: 3rem 1.5rem;
  color: white;
  font-size: 1.5rem;
  font-family: 'Nunito', sans-serif;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transition: all 0.5s ease;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-align: center;
}
.card:hover {background: linear-gradient(to right, #f6d365, #fda085); transform: translateY(-5px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);}
.card-head {font-size: 1.7rem; font-family: 'Nunito', sans-serif; font-weight: 700;}

@media (min-width: 768px) {.gridlayout {grid-template-columns: repeat(2, 1fr);    /* Tablet: 2 per row */  }}
@media (min-width: 1024px) {.gridlayout {grid-template-columns: repeat(3, 1fr);    /* Desktop: 3 per row max */  }}

.material-symbols-outlined {
  vertical-align: middle;
}

.icon-gradient {
  border: none;
  color: white;
  padding: 6px 12px;
  border-radius: 12px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  font-size: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.icon-gradient:disabled {
  opacity: 0.7;               /* Make it look dimmed */
  cursor: not-allowed;        /* Change cursor to indicate it's disabled */
  transform: none !important; /* Prevent hover animation */
  box-shadow: none !important;
}

.icon-gradient:hover {transform: translateY(-3px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);}

.act-btn {
  padding: 4px 8px !important;
}

.active-border {
  border-bottom: 2px solid #000000 !important; /* Example: blue */
}