* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
   background: linear-gradient(135deg, #e8f5e9 0%, #e1f5fe 100%);
   min-height: 100vh;
   color: #1e293b;
   line-height: 1.6;
}

.container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 20px;
}

/* Header */
header {
   text-align: center;
   padding: 40px 20px;
   background: white;
   border-radius: 16px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
   margin-bottom: 30px;
}

.logo {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 12px;
   margin-bottom: 12px;
}

.logo-icon {
   width: 48px;
   height: 48px;
   background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 28px;
}

h1 {
   font-size: 32px;
   color: #0f766e;
   font-weight: 700;
}

.tagline {
   font-size: 18px;
   color: #64748b;
   font-weight: 500;
   letter-spacing: 0.5px;
}

/* Add Goal Form */
.form-section {
   background: white;
   padding: 30px;
   border-radius: 16px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
   margin-bottom: 30px;
}

.form-section h2 {
   font-size: 24px;
   color: #0f766e;
   margin-bottom: 20px;
   font-weight: 600;
}

.form-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 16px;
   margin-bottom: 16px;
}

.form-group {
   display: flex;
   flex-direction: column;
   gap: 8px;
}

label {
   font-size: 14px;
   font-weight: 600;
   color: #334155;
}

input[type="text"],
input[type="number"] {
   padding: 12px;
   border: 2px solid #e2e8f0;
   border-radius: 8px;
   font-size: 15px;
   transition: border-color 0.2s;
   font-family: inherit;
}

input[type="text"]:focus,
input[type="number"]:focus {
   outline: none;
   border-color: #06b6d4;
}

.btn {
   padding: 12px 24px;
   border: none;
   border-radius: 8px;
   font-size: 15px;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.2s;
   font-family: inherit;
}

.btn-primary {
   background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
   color: white;
   width: 100%;
}

.btn-primary:hover {
   transform: translateY(-2px);
   box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

.btn-secondary {
   background: #f1f5f9;
   color: #475569;
   padding: 8px 16px;
   font-size: 14px;
}

.btn-secondary:hover {
   background: #e2e8f0;
}

.btn-danger {
   background: #fee2e2;
   color: #dc2626;
   padding: 8px 16px;
   font-size: 14px;
}

.btn-danger:hover {
   background: #fecaca;
}

.btn-success {
   background: #d1fae5;
   color: #059669;
   padding: 8px 16px;
   font-size: 14px;
}

.btn-success:hover {
   background: #a7f3d0;
}

/* Progress Overview */
.overview-section {
   background: white;
   padding: 30px;
   border-radius: 16px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
   margin-bottom: 30px;
}

.overview-section h2 {
   font-size: 24px;
   color: #0f766e;
   margin-bottom: 20px;
   font-weight: 600;
}

.stats-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
   gap: 20px;
}

.stat-card {
   background: linear-gradient(135deg, #f0fdfa 0%, #ecfeff 100%);
   padding: 20px;
   border-radius: 12px;
   border: 2px solid #99f6e4;
}

.stat-label {
   font-size: 14px;
   color: #64748b;
   margin-bottom: 8px;
   font-weight: 500;
}

.stat-value {
   font-size: 28px;
   font-weight: 700;
   color: #0f766e;
}

/* Goals List */
.goals-section {
   margin-bottom: 30px;
}

.goals-section h2 {
   font-size: 24px;
   color: #0f766e;
   margin-bottom: 20px;
   font-weight: 600;
   padding: 0 5px;
}

.goals-grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
   gap: 20px;
}

.goal-card {
   background: white;
   padding: 24px;
   border-radius: 16px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
   transition: transform 0.2s, box-shadow 0.2s;
}

.goal-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.goal-header {
   display: flex;
   align-items: start;
   gap: 12px;
   margin-bottom: 16px;
}

.goal-icon {
   width: 48px;
   height: 48px;
   background: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 24px;
   flex-shrink: 0;
}

.goal-info {
   flex: 1;
}

.goal-name {
   font-size: 20px;
   font-weight: 700;
   color: #0f766e;
   margin-bottom: 4px;
}

.goal-target {
   font-size: 14px;
   color: #64748b;
   font-weight: 500;
}

.progress-section {
   margin-bottom: 16px;
}

.progress-info {
   display: flex;
   justify-content: space-between;
   margin-bottom: 8px;
}

.progress-label {
   font-size: 14px;
   color: #64748b;
   font-weight: 500;
}

.progress-bar-container {
   width: 100%;
   height: 12px;
   background: #e2e8f0;
   border-radius: 6px;
   overflow: hidden;
}

.progress-bar {
   height: 100%;
   background: linear-gradient(90deg, #10b981 0%, #06b6d4 100%);
   border-radius: 6px;
   transition: width 0.5s ease;
}

.goal-actions {
   display: flex;
   gap: 8px;
   flex-wrap: wrap;
}

/* Modal */
.modal {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: rgba(0, 0, 0, 0.5);
   align-items: center;
   justify-content: center;
   z-index: 1000;
   padding: 20px;
}

.modal.active {
   display: flex;
}

.modal-content {
   background: white;
   padding: 30px;
   border-radius: 16px;
   max-width: 500px;
   width: 100%;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

.modal-header {
   font-size: 22px;
   color: #0f766e;
   margin-bottom: 20px;
   font-weight: 600;
}

.modal-actions {
   display: flex;
   gap: 12px;
   margin-top: 20px;
}

.modal-actions .btn {
   flex: 1;
}

/* Footer */
footer {
   text-align: center;
   padding: 30px 20px;
   background: white;
   border-radius: 16px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.footer-text {
   font-size: 16px;
   color: #64748b;
   font-weight: 500;
   margin-bottom: 8px;
}

.footer-emoji {
   font-size: 24px;
}

/* Toast Notification */
.toast {
   position: fixed;
   bottom: 30px;
   right: 30px;
   background: white;
   padding: 16px 24px;
   border-radius: 12px;
   box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
   display: none;
   align-items: center;
   gap: 12px;
   z-index: 2000;
   animation: slideIn 0.3s ease;
}

.toast.active {
   display: flex;
}

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

.toast-icon {
   font-size: 20px;
}

.toast-message {
   font-size: 15px;
   font-weight: 500;
   color: #1e293b;
}

.empty-state {
   text-align: center;
   padding: 60px 20px;
   color: #64748b;
}

.empty-state-icon {
   font-size: 64px;
   margin-bottom: 16px;
}

.empty-state-text {
   font-size: 18px;
   font-weight: 500;
}

/* Responsive */
@media (max-width: 768px) {
   h1 {
         font-size: 24px;
   }

   .tagline {
         font-size: 16px;
   }

   .form-grid {
         grid-template-columns: 1fr;
   }

   .goals-grid {
         grid-template-columns: 1fr;
   }

   .stats-grid {
         grid-template-columns: 1fr;
   }

   .form-section,
   .overview-section {
         padding: 20px;
   }

   .toast {
         left: 20px;
         right: 20px;
         bottom: 20px;
   }
}