/* ---------------- BODY & GLOBAL ---------------- */
body {
  font-family: 'Segoe UI', sans-serif;
  margin: 0;
  padding: 0;
  min-height: 100vh;
  background: linear-gradient(135deg, #667eea, #764ba2, #f6d365); /* professional gradient */
  background-size: 400% 400%;
  animation: gradientBG 15s ease infinite; /* animated gradient */
  overflow-x: hidden;
}

/* Gradient Animation */
@keyframes gradientBG {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* ---------------- HERO SECTION ---------------- */
.hero {
  position: relative;
  width: 100%;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(102,126,234,0.8), rgba(118,75,162,0.8)), url('https://images.unsplash.com/photo-1504384308090-c894fdcc538d?auto=format&fit=crop&w=1470&q=80') center/cover no-repeat;
  border-radius: 0 0 40px 40px;
}

.hero-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  top: 0; left: 0;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 20px;
}

.hero-content h1 {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 15px;
}

.hero-content p {
  font-size: 18px;
  margin-bottom: 10px;
}

.developer {
  font-size: 16px;
  font-weight: 500;
  color: #ffd700;
}

/* ---------------- DASHBOARD ---------------- */
.dashboard {
  width: 95%;
  max-width: 1400px;
  margin: -80px auto 50px auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* Top Cards Layout */
.top-cards {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}

/* ---------------- CARDS ---------------- */
.card {
  background: rgba(255, 255, 255, 0.95); /* slightly transparent to show gradient */
  border-radius: 20px;
  padding: 25px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  flex: 1 1 400px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.25);
}

h2 {
  margin-top: 0;
  font-size: 24px;
  color: #222;
}

/* ---------------- TIMER ---------------- */
.timer-box {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}

.timer-box input {
  flex: 1;
  padding: 12px;
  font-size: 16px;
  border-radius: 10px;
  border: 2px solid #d0d4dd;
}

.timer-box input:focus {
  border-color: #007bff;
  outline: none;
}

button {
  padding: 12px 20px;
  background: #007bff;
  color: #fff;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  font-size: 16px;
  transition: 0.3s;
}

button:hover {
  background: #005dc2;
}

h1#display {
  font-size: 48px;
  text-align: center;
  margin-top: 20px;
  color: #333;
  font-weight: 700;
}

/* ---------------- TO-DO LIST ---------------- */
.todo-input {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

#todoList {
  list-style: none;
  padding: 0;
  max-height: 350px;
  overflow-y: auto;
}

#todoList li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.85);
  padding: 10px 15px;
  border-radius: 10px;
  margin-bottom: 10px;
  border: 1px solid #d0d4dd;
  transition: 0.2s;
}

#todoList li.completed {
  text-decoration: line-through;
  color: #888;
  background: rgba(224,234,252,0.8);
}

#todoList li button {
  background: #ff4d4d;
  border: none;
  color: #fff;
  padding: 5px 10px;
  border-radius: 8px;
  cursor: pointer;
}

#todoList li button:hover {
  background: #cc0000;
}

/* ---------------- HABIT TRACKER ---------------- */
.tracker-card {
  width: 100%;
  background: rgba(255,255,255,0.95);
}

.habit-input {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
}

.habit-input input {
  flex: 1 !important;
}

.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  border: 1px solid #d3d7e0;
  padding: 10px;
  text-align: center;
  min-width: 70px;
}

th {
  background: #007bff;
  color: white;
  font-weight: bold;
  position: sticky;
  top: 0;
}

td input[type="checkbox"] {
  transform: scale(1.3);
}

/* ---------------- RESPONSIVE ---------------- */
@media screen and (max-width: 900px) {
  .top-cards {
    flex-direction: column;
  }
}
.todo-card{
    margin-top: 100px;
}
.timer-card{
    margin-top: 100px;
}