/* PERFECT RESPONSIVE - NO LINES ON BIG SCREENS */
#life-report-root * { 
  all: revert !important; 
  margin: 0 !important; 
  padding: 0 !important; 
  box-sizing: border-box !important; 
}

#life-report-root { 
  isolation: isolate !important;
  contain: layout style paint !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 2vh 2vw !important;
  font-family: 'Segoe UI', Tahoma, sans-serif !important; 
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

#life-report-root .container { 
  max-width: 1200px !important; 
  width: 100% !important;
  margin: 0 auto !important; 
  background: rgba(255,255,255,0.97) !important; 
  border-radius: 24px !important; 
  padding: clamp(20px, 4vw, 40px) !important; 
  box-shadow: 0 25px 60px rgba(0,0,0,0.15) !important;
  min-height: calc(100vh - 4vh) !important;
}

/* RESPONSIVE TYPOGRAPHY */
#life-report-root .header { 
  text-align: center !important; 
  margin-bottom: clamp(30px, 5vh, 50px) !important;
}

#life-report-root .header h1 { 
  color: #333 !important; 
  font-size: clamp(2em, 5vw, 3.2em) !important; 
  margin-bottom: 12px !important; 
  line-height: 1.2 !important;
}

#life-report-root .header p { 
  color: #666 !important; 
  font-size: clamp(1.1em, 2.5vw, 1.3em) !important;
}

#life-report-root .input-section { 
  background: rgba(255,255,255,1) !important; 
  padding: clamp(20px, 4vw, 35px) !important;
  border-radius: 20px !important; 
  margin-bottom: clamp(25px, 4vh, 35px) !important; 
  box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}

#life-report-root .input-section h2 {
  text-align: center !important;
  margin-bottom: clamp(20px, 4vh, 30px) !important;
  color: #333 !important;
  font-size: clamp(1.4em, 3vw, 1.9em) !important;
  font-weight: 700 !important;
}

#life-report-root .input-grid { 
  display: grid !important; 
  grid-template-columns: repeat(auto-fit, minmax(clamp(180px, 22vw, 240px), 1fr)) !important; 
  gap: clamp(15px, 3vw, 25px) !important;
  margin-bottom: 25px !important;
}

#life-report-root .input-group { 
  text-align: center !important; 
}

#life-report-root .input-group label { 
  display: block !important; 
  margin-bottom: 12px !important; 
  font-weight: 700 !important; 
  color: #555 !important; 
  font-size: clamp(1em, 2vw, 1.15em) !important;
}

#life-report-root .input-group input { 
  width: 100% !important; 
  padding: clamp(12px, 2.5vw, 18px) !important; 
  border: 2px solid #e1e5e9 !important; 
  border-radius: 12px !important; 
  font-size: clamp(1.1em, 2.5vw, 1.35em) !important;
  text-align: center !important; 
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
}

#life-report-root .input-group input:focus { 
  outline: none !important; 
  border-color: #007bff !important; 
  box-shadow: 0 0 0 4px rgba(0,123,255,0.15) !important; 
}

#life-report-root .generate-btn { 
  width: 100% !important; 
  padding: clamp(16px, 3vw, 22px) !important; 
  background: linear-gradient(135deg, #28a745, #1e7e34) !important; 
  color: white !important; 
  border: none !important; 
  border-radius: 16px !important; 
  font-size: clamp(1.2em, 2.5vw, 1.45em) !important;
  font-weight: 700 !important; 
  cursor: pointer !important; 
  transition: all 0.4s ease !important; 
  margin-top: clamp(15px, 3vh, 25px) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

#life-report-root .generate-btn:hover:not(:disabled) { 
  transform: translateY(-4px) !important; 
  box-shadow: 0 20px 40px rgba(40,167,69,0.4) !important; 
}

#life-report-root .download-btn {
  max-width: clamp(280px, 45vw, 400px) !important;
  margin: 0 auto !important;
}

#life-report-root .preview-section { 
  margin-top: clamp(25px, 4vh, 45px) !important;
  padding: clamp(20px, 4vw, 35px) !important;
  background: rgba(248,249,250,0.9) !important; 
  border-radius: 18px !important; 
  display: none !important; 
}

#life-report-root .preview-section.show { 
  display: block !important; 
  animation: fadeIn 0.6s ease-out !important; 
}

#life-report-root .download-section {
  text-align: center !important;
  margin-top: clamp(25px, 5vh, 40px) !important;
}

@keyframes fadeIn { 
  from { opacity: 0 !important; transform: translateY(25px) !important; } 
  to { opacity: 1 !important; transform: translateY(0) !important; } 
}

#life-report-root .report-preview { 
  background: white !important; 
  padding: clamp(25px, 4vw, 45px) !important;
  border-radius: 18px !important; 
  box-shadow: 0 15px 45px rgba(0,0,0,0.12) !important; 
  margin-bottom: clamp(20px, 3vh, 30px) !important; 
  page-break-after: always !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* REPORT SPECIFIC RESPONSIVE */
#life-report-root .h1-report { 
  color: #333 !important; 
  font-size: clamp(1.8em, 4vw, 2.5em) !important; 
  margin-bottom: clamp(20px, 4vh, 35px) !important; 
  text-align: center !important; 
  border-bottom: 4px solid #007bff !important; 
  padding-bottom: clamp(12px, 2.5vh, 20px) !important; 
  line-height: 1.2 !important;
}

#life-report-root .h2-report { 
  color: #007bff !important; 
  font-size: clamp(1.4em, 3vw, 1.9em) !important; 
  margin: clamp(20px, 4vh, 35px) 0 clamp(15px, 3vh, 25px) 0 !important;
}

#life-report-root .h3-report { 
  color: #333 !important; 
  font-size: clamp(1.2em, 2.5vw, 1.5em) !important; 
  margin: clamp(18px, 3vh, 28px) 0 clamp(10px, 2vh, 18px) 0 !important;
}

#life-report-root .summary-table { 
  width: 100% !important; 
  border-collapse: collapse !important; 
  margin: clamp(20px, 4vh, 35px) 0 !important; 
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 30px rgba(0,0,0,0.1) !important;
  font-size: clamp(0.9em, 2vw, 1em) !important;
}

#life-report-root .summary-table th, 
#life-report-root .summary-table td { 
  padding: clamp(10px, 2.5vw, 16px) !important; 
  text-align: left !important; 
  border-bottom: 1px solid #e0e6ed !important;
  vertical-align: middle !important;
}

#life-report-root .summary-table th { 
  background: linear-gradient(135deg, #007bff, #0056b3) !important; 
  color: white !important; 
  font-weight: 700 !important; 
  font-size: 1.05em !important;
}

#life-report-root ul {
  padding-left: clamp(20px, 4vw, 32px) !important;
  margin: clamp(15px, 3vh, 25px) 0 !important;
}

#life-report-root ul li {
  margin-bottom: 10px !important;
  line-height: 1.7 !important;
  font-size: clamp(0.95em, 2vw, 1.1em) !important;
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 1200px) {
  #life-report-root .container { padding: 25px !important; }
}

@media (max-width: 768px) { 
  #life-report-root { padding: 15px !important; }
  #life-report-root .input-grid { 
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important; 
    gap: 15px !important;
  }
  #life-report-root .report-preview { 
    padding: 20px !important; 
    margin-bottom: 20px !important;
  }
  #life-report-root .summary-table {
    font-size: 0.9em !important;
  }
  #life-report-root .summary-table th, 
  #life-report-root .summary-table td { 
    padding: 8px 10px !important;
  }
}

@media (max-width: 480px) {
  #life-report-root .input-grid { 
    grid-template-columns: 1fr !important; 
  }
  #life-report-root .generate-btn {
    font-size: 1.2em !important;
  }
}

/* NO SCROLLBAR ON BIG SCREENS */
#life-report-root::-webkit-scrollbar { width: 0 !important; }
#life-report-root { scrollbar-width: none !important; -ms-overflow-style: none !important; }
